- 矩阵
矩阵是一个二维数组,每个元素拥有相同的模式(数值型、字符型、逻辑型),可通过matrix()创建矩阵
mymatrix <- matrix(vector,nrow=number_of_rows,ncol=number_of_columns,
byrow = logical_value,
dimnames=list(char_vector_rownames,char_vector_colnames)
vector:包含矩阵中元素
nrow:矩阵的行数
ncol:矩阵的列数
diamnames:包含了可选的、以字符型向量表示的行名和列名
byrow:矩阵按照行填充(byrow = T),还是按照列填充(byrow = F)默认为列填充
> cells <- c(1,26,24,68)
> rnames <- c("R1", "R2")
> cnames <- c("C1", "C2")
> mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE, #设置矩阵的相关参数,byrow = T,表示按照行填充
+ dimnames=list(rnames, cnames))
> mymatrix
C1 C2
R1 1 26
R2 24 68
> mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=FALSE,#按照列填充
+ dimnames=list(rnames, cnames))
> mymatrix
C1 C2
R1 1 24
R2 26 68
- 获取矩阵元素
使用下标和方括号"[]"获取矩阵的行、列或元素
> x <- matrix(1:10, nrow=2) #如果将 1:10,R将默认按行等分,改成1:9将报警告信息但仍然可以运行
#警告信息: 矩阵(1:9,nrow = 2): 数据长度[9]不是[2]的多个或多个行
#Warning message:
#In matrix(1:9, nrow = 2, ncol = 3) :
#data length [9] is not a sub-multiple or multiple of the number of rows [2]
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> x[2,]
[1] 2 4 6 8 10
> x[,2]
[1] 3 4
> x[1,4]
[1] 7
> x[1, c(4,5)] #获取1行,第4和5位置的元素
[1] 7 9