R中多维数组的dimnames

时间:2018-03-29 03:28:51

标签: r multidimensional-array names

我知道使用dimnames可以为R中的多维数组设置rownames,colnames和dimnames。但是,它们对于n维中的所有矩阵的“行名称/列名称”是相同的。在我的情况下是否可以设置不同的rownames?

例如:我正在创建一个三维数组:

  1. 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”)。

  2. 我需要用rownames_respective_dim3名称替换rownames;假设数组1中的rownames有(a_A,b_A),其中数组2有(a_B,b_B)等,

  3. 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="_")
                 }
           }
    

    虽然代码在执行时没有显示任何错误,但我没有得到所需的结果!谢谢。

0 个答案:

没有答案