我有一个“查找数组” h,我想在其中查找某些参数组合。 出于计算时间的原因,我不想循环使用for循环进行组合。
h[,,1]
1 2 3
4 5 6
7 8 9
h[,,2]
10 11 12
13 14 15
16 17 18
...
我现在想要类似的组合
h[3,2,1]
h[2,2,2]
h[3,1,1]
写为
a<-c(3,2,39
b<-c(2,2,1)
c<-c(1,2,1)
h[a,b,c]
,结果应为向量:
6 14 2
不用说这是行不通的,相反,R为我提供了所有可能的参数组合。
使用
重新创建示例h<-array(1:(3*3*5),dim=c(3,3,5))
或
structure(1:45, .Dim = c(3L, 3L, 5L))
答案 0 :(得分:0)
我找到了一种方法,可以通过将a,b和c转换为矩阵使用indind cbind() 然后简单地索引
h[cbind(a,b,c)]