我知道使用dimnames可以为R中的多维数组设置rownames,colnames和dimnames。但是,它们对于n维中的所有矩阵的“行名称/列名称”是相同的。在我的情况下是否可以设置不同的rownames?
例如:我正在创建一个三维数组:
X <- array(0, dim = c(3, 3, 3), dimnames= list(c("a","b","c"), c("A","B","C"), c("A","B","C")))
(1)的输出是3x3x3数组,带有rownames(“a”,“b”,“c”),colnames(“A”,“B”,“C”)和第3维的dimnames(“ A”, “B”, “C”)。
我需要用rownames_respective_dim3名称替换rownames;假设数组1中的rownames有(a_A,b_A),其中数组2有(a_B,b_B)等,
for循环中我想要的代码如下:
dim3 <- dimnames(X)[[3]] wherethe output is dim3 = "A" "B" "C"
for (d in seq_along(1:length(dim3))){
for (r in seq_along(1:length(rownames(X))){
rownames(X[ , , d])[r] <- paste(rownames(X[ , , d])[r], dim3[d], sep="_")
}
}
虽然代码在执行时没有显示任何错误,但我没有得到所需的结果!谢谢。