在多维数组中查找项目的暗淡名称

时间:2013-11-08 18:35:24

标签: r

我对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)?

1 个答案:

答案 0 :(得分: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"