对多维数组列表进行子集化
Subsetting a list of multidimensional arrays
我正在尝试将 3d 数组列表子集化为 return 矩阵列表。我假设答案涉及 lapply,但我发现之前的所有问题都因其他问题而变得复杂。
玩具示例:
x <- array(1:300, dim=c(20, 5, 3))
y <- array(301:600, dim=c(20, 5, 3))
list <- list(x ,y)
我想要两个数组中的 [1] 个元素,放在一个新的矩阵列表中。
供将来参考 - 尽量不要在全局环境中覆盖 built-in 函数,例如 list
。
回答您的问题:
lapply(list(x,y), function(m) m[,,1])
lapply
将遍历列表中的所有元素,将每个元素作为参数传递给您提供的函数。
我正在尝试将 3d 数组列表子集化为 return 矩阵列表。我假设答案涉及 lapply,但我发现之前的所有问题都因其他问题而变得复杂。
玩具示例:
x <- array(1:300, dim=c(20, 5, 3))
y <- array(301:600, dim=c(20, 5, 3))
list <- list(x ,y)
我想要两个数组中的 [1] 个元素,放在一个新的矩阵列表中。
供将来参考 - 尽量不要在全局环境中覆盖 built-in 函数,例如 list
。
回答您的问题:
lapply(list(x,y), function(m) m[,,1])
lapply
将遍历列表中的所有元素,将每个元素作为参数传递给您提供的函数。