R语言初学笔记

     2015年09月23日       江南兔子哥       非专业笔记->R语言       

搭建环境

R解释器 http://www.r-project.org/
推荐的IDE环境是 RStuido https://www.rstudio.com/

变量赋值

变量赋值方式推荐使用 <-->,当然也可以用

设置R的语言为英文

vim .Renviron

添加如下设置
LANGUAGE='en'

向量

向量中的数据类型必须是统一的,比如全部是数字或全部是字符串
变量赋值

x <- c(1,2,3,4,5) #数字组成的向量
str <- c('Hello','World')  #字符串组成的向量
x <- 1:12   #1:12表示 产生1到12的数字序列作为向量

向量取值

x[1] #表示取第一个值
x[3:5] #表示取第第3到第5个值
x[-2] #表示取除了第2个外的所有向量值

数组

相当于多维的向量,向量可以理解为一维的;而数组是多维的。数据中的数据类型也必须是统一的
数组赋值

> x <- 1:12   
> ax <- array(data=x,dim=c(3,4))
> ax
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

数组取值

ax[2,2]  #按行列取值,取第二行第二列
ax[,2] #按列取值,取第二列
ax[2,] #按行取值,取第一行

数据框

类似Excel的数据格式。每一列的数据类型可以不一致,但是列的长度必须一致
数据框赋值

#建立向量
day <- c('20140425','20140426','20140427')
pm <- c(100,90,60)
day_pm <- data.frame(day,pm)

#day_pm的样子如下
> day_pm
       day  pm
1 20140425 100
2 20140426  90
3 20140427  60

数据框取值

#按行列取值
> day_pm[1,1]
[1] 20140425
Levels: 20140425 20140426 20140427

#按行取值
> day_pm[1,]
       day  pm
1 20140425 100

#按列取值,使用$指定特定的列
day_pm$pm
day_pm[day_pm$pm<100,]  #取出pm的值小于100的

函数

函数一般接受向量作为参数,输出的结果一般为向量
比如log()函数,我们输入参数x,x是刚才赋值x <- c(1,2,3,4,5)

> log(x)
[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379

FAQ

如何查看一个变量的类型?
R语言是面向对象的语言,所有变量都是一个对象。对于一个对象我们可以通过以下函数观察对象的通用属性

class(x)   #查看变量的类型
attributes(x)  #查看变量的属性
str(x)  #以字符串的形式展示变量的基本信息

R语言学习资料