在 R 的一个项目中,我遇到了这个问题,我真的很困惑:
比如我有张量T(维度3x2x2)和向量A
T <- array(c(1,2,3,4,5,6,7,8,9,10,11,12), dim=c(3,2,2), dimnames=list(c("X","Y","Z"),c("1","2"),c("a","b")))
A <- c(NA, "2","b")
我想知道如何获得 T[ ,"2","b"]
使用矢量 A
?我试过 T[A]
只要许多其他东西,但它似乎不起作用。注意 A
是一个变量,它很可能变成 A <- c(NA, NA,"a")
我们想要 T[ , ,"a"]
在这种情况下。
非常感谢您的帮助!
最佳答案
试试这个(有点复杂):
A2<-as.list(A)
A2[is.na(A)]<-TRUE
do.call(`[`,c(list(T),A2))
# X Y Z
#10 11 12
关于r - 如何使用维度名称向量选择张量(多维数组)的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67903871/