我正在尝试对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]元素都在一个新的矩阵列表中。
答案 0 :(得分:2)
供将来参考 - 尽量不要覆盖全局环境中的list
等内置函数。
回答你的问题:
lapply(list(x,y), function(m) m[,,1])
lapply
将迭代列表中的所有元素,将每个元素作为参数传递给您提供的函数。