我正在尝试将列名添加到10列乘100行矩阵test_matrix的列中,该列的每列填充了100个从runif()生成的随机数
test_matrix <- matrix(ncol = 10, nrow = 100)
for (i in 1:ncol(test_matrix)){
test_matrix[, i] <- runif(100)
colnames(test_matrix)[i] <- paste0("Column ", i)
}
我收到此错误:
Error in `colnames<-`(`*tmp*`, value = "Column 1") :
length of 'dimnames' [2] not equal to array extent
为什么这不起作用?
答案 0 :(得分:2)
test_matrix <- matrix(ncol = 10, nrow = 100)
colnames(test_matrix) <- paste0("Column", seq(ncol(test_matrix)))
> head(test_matrix)
Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9 Column10
[1,] NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA
[5,] NA NA NA NA NA NA NA NA NA NA
[6,] NA NA NA NA NA NA NA NA NA NA