我想用維度爲k的動態數組對子數組進行子集化。具有動態維度的數組的子集部分
採取例如:
A <- array(1:3^4, dim=c(3,3,3,3))
由於尺寸可以變化(在此未示出),我不能簡單地定義的a,b,c,d和經由
a <- 1:2; b <- 2; c <- 2:3; d = 1
A[a, b, c, d]
Here使查詢已經表明,如果想要子集只有單個元件,可以這樣做:
e <- 1; f <- 2; g <- 3; h <- 1
A[matrix(c(e, f, g, h), nrow = 1)]
這使我可以保持維數的靈活性,但我只能對單個元素進行子集化,因爲我無法表示矩陣中的序列a,b,c,d。
期望的情況是,我能得到的
A[a, b, c, d]
輸出沒有硬編碼的尺寸,即通過
A[object]
訪問陣列和問題基本上這是可能的,如果是'對象'是怎樣的。
任何幫助將不勝感激!
什麼? 'A [1,1,1,1]'工作正常。 – alistaire
是的,它不清楚,因爲你的[示例不可重現](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)與定義期望的輸出。 – alistaire
@alistaire使其具有可重現性,希望這有助於 – jmb