矩阵创建
在 R 语言中可以使用matrix
函数来创建矩阵,matrix
函数原型如下:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
dimnames = NULL)
# S3方法用于dataframe:
as.matrix(x, rownames.force = NA, ...)
其中data
为可选的数据向量(包括列表或表达向量),默认为 NA,即未给出元素值的话,各项为 NA;nrow
是所需的行数(可简写为nr
),默认为1。ncol
是所需的列数(可简写为nc
),默认为1。byrow
逻辑参数,如果为 FALSE(默认),则矩阵由列填充,否则矩阵由行填充。dimnames
可以命名矩阵的行和列,默认NULL
,或长度为2的列表,分别给出行名和列名。 空列表被视为NULL
,长度为1的列表被视为行名。
注意:如果未给出nrow
或ncol
其中之一,则系统会数据长度和另一个参数推断出。如果均未给出,则返回一个单列矩阵。
如果数据中的元素太少而无法填充矩阵,那么系统会自动循环补齐。
图一 元素无法完全填充矩阵
例子:
m <- matrix(1:16, nrow = 4)
图二 创建矩阵
m <- matrix(c(1:20), nrow = 4,
dimnames = list(c("R1","R2","R3","R4"),
c("C1","C2","C3","C4","C5")))
图三 带列名和行名的矩阵
m <- matrix(nr = 2, nc = 3) #未指定元素数据,默认为NA
图四 空矩阵
如果只想将向量转换为矩阵,可以
x <- 1:12
dim(x) <- c(3,4)
dimnames(x)<- list(c