使用R对多维数组进行智能和快速索引

时间:2014-04-17 14:33:17

标签: arrays r multidimensional-array

这是我与R中多维数组斗争的又一步,前一个问题是here:)

我有一个大R阵列,其中包含以下尺寸:

> data = array(..., dim = c(x, y, N, value))

我想执行一种比较平均值的引导程序(参见here进行讨论),获得:

> vmean = apply(data, c(1,2,3), mean)

使用随机替换的N值随机取样,以便更好地解释data[1,1,,1]是否等于[v1 v2 v3 ... vN]我想用类似的东西替换它[v_k1 v_k2 v_k3 ... v_kN],其中k值采用sample(N, N, replace = T)采样。

当然我想要避免for循环。我已阅读this但我不知道如何对此数组执行有效的索引,从而避免通过xy进行循环。

有什么想法吗?

更新:这里重要的是我希望第四个(值)维度中的每个样本都有不同的样本,否则执行以下操作会很简单:

> dataSample = data[,,sample(N, N, replace = T), ]

1 个答案:

答案 0 :(得分:0)

还有编译器软件包通过使用Just In Time编译器来加速循环。 在代码顶部添加thes行可以为所有代码启用编译器。

require("compiler")
compilePKGS(enable=T)
enableJIT(3)
setCompilerOptions(suppressAll=T)