2.1 R语言
简单介绍R语言:
R语言是一种解释性
R语言,输入后可以直接给出结果.R功能全都是靠函数所实现的.函数形式如下:
函数(输入数据 , 参数= )
2.1.1 数据集的概念
数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.
R可以处理的数据类型包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)、因子型.实例如下:
数值型:如 100,0,-4.553.
字符型:如 "china"
逻辑型:如 TRUE,FALSE
复数型:如 2+3i
因子型:表示不同类别.因子是名义型便来给你或有序型变量,它们在R语言中被特殊地存储和处理.
注意:!!!
标量是只含一个元素的向量,例如f<-3,g<-"us",和h<-"US",h<-TRUE.它们用于保存常量
1.向量
向量为一系列元素的组合,用于存储数值型 字符型 逻辑型数据的一维数组.执行组合功能的函数c()可用来创建向量.
例如:
a <- c(1,2,3,4,5,6) //数值型
b <- c("one","two","three") //字符型
c <- c(TRUE,FALSE) //逻辑型
D <- C("A","a","b","c") //字符型
重点注意!!!
单个向量中的数据必须拥有相同的类型或模式,同一向量中无法混杂不同模式的数据.
通过方括号中给定元素所处位置的数值访问向量中的元素.例如:
//a[c(1,4)]用于访问向量a中的第一个和第4个元素
//其他例子如下:
> d <- c(1,3,5,7,9,10,23,21,17)
> d[2]
[1] 3
> d[2:5]
[1] 3 5 7 9
> d[c(1,2,6,7)]
[1] 1 3 10 23
2.矩阵
矩阵是一个二维数组,只是每个元素都拥有相同的模式,可通过函数matrix创建矩阵
一般的使用格式如下:
mymatrix <- matrix(vector,nrow=,ncol=,byrow=,dimnames=list() )
其中,vector包括了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的,以字符型向量表示的行名和列名.选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充.
举个例子:
//简单构造一个矩阵x
> x <- matrix(21:40,nrow=4,ncol=5,byrow=FALSE)
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 21 25 29 33 37
[2,] 22 26 30 34 38
[3,] 23 27 31 35 39
[4,] 24 28 32 36 40
举个例子:
//构造行名和列名由自己确定的矩阵
> fourcell <- c(1,2,3,10,20,30)
> rnames <- c("R1","R2")
> cnames <- c("C1","C2","C3")
> mymatrix <- matrix(fourcell,nrow=2,ncol=3,byrow=TRUE,dimnames=list(rnames,cnames))
> mymatrix
C1 C2 C3
R1 1 2 3
R2 10 20 30
>
同向量一样 数组也可以实现对其中值的提取
> aa <-matrix(1:20,nrow=5) //建立一个五行四列的矩阵
> aa
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> aa[3,] //取矩阵中的第三行所有列的元素
[1] 3 8 13 18
> aa[,3] //取矩阵中第三列所有行的元素
[1] 11 12 13 14 15
> aa[3,3] //取第三行第三列所对应的元素
[1] 13
> aa[3,c(3,4)] //取第三行第三列和第四列所对应的元素
[1] 13 18
> aa[,c(3,4)] //取第三列第四列中所有行的元素
[,1] [,2]
[1,] 11 16
[2,] 12 17
[3,] 13 18
[4,] 14 19
[5,] 15 20