R数据结构之矩阵
2018-08-31 本文已影响182人
YUENFUNGDATA
矩阵是一个二维数组。只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix创建矩阵。
一般使用格式为:
其中vector包含了矩阵的元素,nrow和ncol来指定列的维度,选项byrow则表明矩阵应当按行填充(byrow=True)还是按列填充(byrow=False),默认情况下按列填充。dimnames=list()包含了可选的、以字符型向量表示的行名和列名。
范例1:
y<-matrix(1:20,nrow=5,ncol=4)
代码意义:建立了一个5X4的矩阵
范例2:
cells<-c(1,26,24,68)
rnames<-c("R1","R2")
cnames<-c("C1","C2")
mymatrix<-matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames,cnames))
mymatrix
代码意义:
row1.创建了一个名为cells的向量
row2.创建了行名标签
row3.创建了列名标签
row4.创建了名为mymatrix的矩阵,元素为cells,行列为2X2,按列填充,行标签名为rnames,列标签名为cnames
矩阵下标的使用
我们可以使用下标和方括号来选择矩阵中的行、列或元素。X[i,]指矩阵X中的第i行,X[,j] 指第j列,X[i,j]指第i行第j个元素。选择多行或多列时,下标i和j可为数值型向量。
范例3:
x<-matrix(1:10,nrow=2)
x
x[2,]
x[,2]
x[1,4]
x[1,c(4,5)]
首先,我们创建了一个内容为数字1到10的2×5矩阵。默认情况下,矩阵按列填充。然后,我们分别选择了第二行和第二列的元素。接着,又选择了第一行第四列的元素。最后选择了位于第一行第四、第五列的元素。
矩阵都是二维的,和向量类似,矩阵中也仅能包含一种数据类型。
当维度超过2时,不妨使用数组。
当有多种模式的数据时,不妨使用数据框。