1

我对 r 中的多维数组做得不多,所以这可能是一个简单的问题——我试图找到一种简单的方法来查找多维数组中单个项目的维度名称:

my.array <- array(32:56, dim=c(3,4,2))
dimnames(my.array)=list(c("a","b","c"), c("1","2", "3", "4"),c("y","n"))
which(my.array==33)
>2

我知道这个数组中的第二个项目符合这个条件,但我怎样才能轻松找出与这个项目相关的暗淡标签(即 my.array["b", "1", "y"]=33 )?

4

1 回答 1

3

我想你正在寻找arr.ind

X1 <- which(my.array==33, arr.ind=TRUE)
X1
#   dim1 dim2 dim3
# b    2    1    1
my.array[X1]
# [1] 33
my.array[2, 1, 1]
# [1] 33
mapply("[", dimnames(my.array), X1)
# [1] "b" "1" "y"
于 2013-11-08T18:38:51.843 回答