【发布时间】:2019-10-18 16:39:15
【问题描述】:
这个问题是Applying a function across nested list 的后续问题。虽然它处理向量列表的列表,但这个处理的是矩阵列表。
输入看起来像
set.seed(42L)
input <- replicate(3, replicate(4, matrix(rnorm(25), nrow=5), simplify=FALSE), simplify=FALSE)
我想计算最外列表对应条目的平均值。当然我可以使用for循环,但一定有另一种更快、更简洁、更清晰的方式吗?
result <- replicate(4, matrix(0, nrow=5, ncol=5), simplify=FALSE)
for (i in 1:3) {
for (j in 1:4) {
for (k in 1:5) {
for (l in 1:5) {
result[[j]][k, l] <- result[[j]][k, l] + input[[i]][[j]][k, l]
}
}
}
}
result <- lapply(result, function(x) x / 3)
【问题讨论】:
标签: r list matrix nested apply