一、R中的数据类型
R中的数据类型有
标量、向量、矩阵、数组、数据框和列表
二、标量和向量
向量是用于储存数值型、字符型(含字符串 )或逻辑型数据的一维数组,通过函数c()进行创建。如:
a<-c(1,2,3)
b<-c("one","two","three")
c<-c(TRUE,FALSE,FALSE)
d<-c(2:6) #产生从2-6的数组
标量则是只含一个元素的向量,如e<-2
我们可以通过方括号[]访问向量指定位置的元素,如:
> a[3] #直接指定某一个位置
[1] 3
> d[1:2] #指定位置区间
[1] 2 3
> b[c(1,3)] #指定某几个位置,位置通过c()函数拼接
[1] "one" "three"
向量可以通过c()
添加新元素,通过c[-序号]
的方式删除元素
三、矩阵
矩阵是一个二维数组,只是每个元素都是相同的数据类型(数值型、字符型或逻辑型),通过函数matrix()创建,形如:
mymatrix<-matrix(vector, nrow =number_of_rows, ncol
=number_of_colums, byrow =logical_value,
dimnames =list(char_vector_rownames,
char_vector_colnames))
其中vector是以向量形式给出的矩阵数据,nrow和ncol分别是行和列的维数,dimnames可选,是以字符型向量给出的行和列的名称。选项byrow表示矩阵按行填充(byrow=True)还是按列填充(byrow=False),默认按列填充,具体如下:
> mt1=matrix(1:20,5,4) #byrow=FALSE构造5*4矩阵
> mt1
[,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
> rnames=c("R1","R2");cname=c("C1","C2")
> #byrow=True构造2*2矩阵(含行、列名)
> mt2=matrix(cells,nrow = 2,ncol = 2,byrow =