R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/ 在Windows环境下安装R是很方便的
R语言的两种运行模式:交互模式和批处理模式;顾名思义交互模式是一条输入一条输出,而批处理模式则可让处理过程自动化
批处理模式演示:
pdf("demo.pdf") #创建demo.pdf文件 hist(rnorm(1000)) #调用hist()画直方图,调用rnorm()生成随机数 dev.off() #将实际文件输出到磁盘上
运行打开PDF文件后的效果
在交互模式下工作
①创建一个简单的数据集
a<-c(110,120,114,119)
从上面可以看出,在R语言中,标准的赋值语句是 “ <- ”,当然用“ = ”也是可以得,但不推荐;“ c “(concatenate)表示连接,把四个数字连接成一个向量
可以把向量再连接成向量,比如
> b<-c(a,a,a)
查看b中的内容 > b [1] 110 120 114 119 110 120 114 119 110 120 114 119
R语言的很多特性和Python语言很像,它们都是
②访问向量中的单个元素,访问方式和其他语言中访问数组类似,只不过索引是从 1开始计算
访问a中的第三个元素
> a[3] [1] 114
提取b子集的
> b[3:6] [1] 114 119 110 120
上面的代码 提取了b向量中的第三个元素到第六个元素
③调用库函数
在R语言中,可以很方便的计算出数据集的各种统计结果,比如
> mean(b) [1] 115.75 > sd(b) [1] 4.202272
上面代码计算了b数据集的均值和标准差,当然也可以把结果存到变量中,而不是直接输出
④使用内置数据集
运行下列函数,可以得到一份R语言内置数据集的列表
> data()
⑤退出R控制台
使用函数q() 会提示是否保存变量,退出R控制台
编写函数
函数是R语言的核心,我们先来编写一个函数
> #计算整数集中奇数的个数,并把结果存入oddcout变量中 > oddcout<-function(x){ + i<-0 #初始化i + for(n in x){ + if(n%%2==1) i<-i+1 #判个并计算个数 + } + return(i) + }
定义数据集,调用函数,输出结果
> k<-c(1,2,3,4,5,6,7,8,9,10) > oddcout(k) [1] 5
R语言中重要数据结构
标量
标量即单个数,由于R语言是统计语言,所以单个数值在R语言中无意义,单个数值实际上是一元向量
字符串
字符串是字符模式的单元素向量,比如
> strs<-"this is a demo" > mode(strs) [1] "character"
上面代码用mode()函数来识别,向量的模式
矩阵
矩阵在数学中的定义是指纵横排列的二维数据表格,,在R语言中附加了两个属性:行数和列数
创建矩阵:
按行绑定
> m<-rbind(c(1,3,5),c(2,4,6)) > m [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6
按列绑定
> n<-cbind(c(1,3,5),c(2,4,6)) > n [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6
使用rbind()函数把向量按行结合成矩阵,使用cbind()函数把向量按列结合成矩阵。矩阵中元素的访问使用双下标进行索引,不管是按行绑定还是按列绑定,访问都是先写出行号 ,在写出列号
> m[1,2] [1] 3
提取子矩阵
> m[,2] [1] 3 4 #提取m矩阵的第二列