这是R中的一个bug还是有意为之?
感谢您的解释!
## works
aa <- matrix(nrow=1,ncol=2)
dimnames(aa)[[2]] <- c("a","b")
dimnames(aa)[[1]] <- c("c")
## does not work
bb <- matrix(nrow=1,ncol=2)
dimnames(bb)[[1]] <- c("c")
Error in dimnames(bb)[[1]] <- c("c") : 'dimnames' must be a list
感谢您的解释!
aa$b[[1]] <- list("c")
会使aa$b
成为一个包含列表的列表,这并不是你在使用dimnames
时想要的结果。使用单括号即dimnames(aa)[1] <- list("c")
也可以运行,并且更符合 R 在其他地方的行为一致性。 - crowdingdimnames(aa)[1] <- list("c")
和dimnames(aa)[[1]] <- list("c")
的结果是相同的。 - Sven Hohenstein