【发布时间】:2013-05-12 12:21:31
【问题描述】:
有没有一种方法可以优雅地在 R 中的多维数组中指定一个切片,从而事先不知道维数?
例如,对于一个 5 维数组,可以使用
来切出最后一维fourdimslice <- fivedimarray[,,,,1]
但我想为任意维度编写代码,例如
slice <- arbitrarydimarray(dim=5, index=1)
我无法理解do.call('[', ...) 是否会成为一种方法。我也尝试过命名维度,但a[fifth=1] 并没有按照我想要的方式进行解释。
我想像apply() 这样的函数需要做类似的事情。
【问题讨论】:
-
看看stackoverflow.com/questions/14500707/…是否回答了你的问题。
-
我实际上曾经写过一些代码(在年轻和愚蠢的时候:-)),它查看了数组的维数并通过循环像
foo<-'x[' ; for (i in 1:(n-1) ) foo <- paste(foo,',')这样的东西来构建一个字符串。 V. Zoonekynd 的回答确实很好。
标签: r multidimensional-array slice