我有矩阵像:
[,1][,2][,3][,4]
[1,] 12 32 43 55
[2,] 54 54 7 8
[3,] 2 56 76 88
[4,] 58 99 93 34
我事先不知道矩阵中将有多少行和多少列。因此,我需要动态创建行和列的名称。
我可以像这样直接命名列(行):
colnames(rmatrix) <- c("a", "b", "c", "d")
但是,如何动态创建名称向量以适合矩阵的尺寸?
nm <- ("a", "b", "c", "d")
colnames(rmatrix) <- nm
最佳答案
您可以使用rownames
和colnames
并设置do.NULL=FALSE
以便动态创建名称,如下所示:
set.seed(1)
rmatrix <- matrix(sample(0:100, 16), ncol=4)
dimnames(rmatrix) <- list(rownames(rmatrix, do.NULL = FALSE, prefix = "row"),
colnames(rmatrix, do.NULL = FALSE, prefix = "col"))
rmatrix
col1 col2 col3 col4
row1 26 19 58 61
row2 37 86 5 33
row3 56 97 18 66
row4 89 62 15 42
您可以更改
prefix
以根据需要命名行/列。