子集多维数组列表

时间:2016-01-09 13:03:45

标签: arrays r lapply

我正在尝试对3d数组列表进行子集化,以返回矩阵列表。我认为答案涉及lapply,但我发现的所有先前的问题都因其他问题而变得复杂。

玩具示例:

x <- array(1:300, dim=c(20, 5, 3))
y <- array(301:600, dim=c(20, 5, 3))

list <- list(x ,y)

我希望两个数组中的[,, 1]元素都在一个新的矩阵列表中。

1 个答案:

答案 0 :(得分:2)

供将来参考 - 尽量不要覆盖全局环境中的list等内置函数。

回答你的问题:

lapply(list(x,y), function(m) m[,,1])

lapply将迭代列表中的所有元素,将每个元素作为参数传递给您提供的函数。