请考虑下面这个三维数组:
set.seed(123)
arr = array(sample(c(1:10)), dim=c(3,4,2))
这产生
> arr
, , 1
[,1] [,2] [,3] [,4]
[1,] 10 9 8 2
[2,] 5 1 4 10
[3,] 6 7 3 5
, , 2
[,1] [,2] [,3] [,4]
[1,] 6 7 3 5
[2,] 9 8 2 6
[3,] 1 4 10 9
我想将其子集化,例如:
arr[c(1,2), c(2,4), c(1)]
但问题是我不知道(a)这些索引属于哪个维度或者(b)这些索引要应用在哪个维度上。
如何使用索引变量访问一个N维数组?
ll = list(c(1,2), c(2,4), c(1))
arr[ll] # doesn't work
arr[grid.expand(ll)] # doesn't work
# ..what else?
arr <- do.call("[<-", c(list(arr), ll, 100))
- flodel