我需要一个在 R 中对多维数组进行子集化的函数;问题是在调用函数之前我不知道哪个维度或沿该维度的长度。
# subset a 3-d array; leave dims 1 and 2, but start 3rd dim at its 11th value
mydim <- dim(myarr)
myarr[, , 11:mydim[3]]
# subset a 4-d array; leave dims 1, 3 and 4, but start 2rd dim at its 8th value
mydim <- dim(myarr)
myarr[, 8:mydim[2], , ]
我总是需要精确地沿一个维度进行子集化,并且子集化总是从 1 以外的某个值开始。我还需要保留数组结构,因此矩阵索引到数组中看起来并不吸引人。提前致谢。