我想计算列表中32个向量的均值。我认为这段代码应该可以胜任:
for(i in sequence(length(means16list))){
mat.means16 <- apply(means16list, 1, mean)
}
其中means16list
包含32个数字向量,mat.means16
应包含均值。它是矩阵4,4并在前一步骤中定义。
也许我不明白循环是如何工作的。
有人可以帮忙吗?
干杯
答案 0 :(得分:2)
mat.means16
,你应该制作一个列表并将结果存储在那里。
如果您发布示例数据,可能有更好的方法来执行此操作,我假设您需要矩阵的rowMeans()
。
results <- lapply(means16list, rowMeans)
答案 1 :(得分:1)
除非我误解,否则为什么不:
# Sample data
set.seed(2017);
means16list <- lapply(1:32, function(x) runif(10))
# Return a list of the sample means
lapply(means16list, mean);
# Return a vector of the sample means
sapply(means16list, mean);
我没有看到for
循环的重点。 lapply
/ sapply
将遍历列表中的每个元素,并将函数mean
应用于该列表。