我知道这个主题在SO上出现了几次,但是示例通常更加复杂,我想要得到一个关于这种简单情况的答案(或一组可能的解决方案)。我仍然在学习R和编程。因此,在这里,我想使用lapply
函数或一个简单的循环来处理data
列表,该列表是由三个向量列表组成的列表。
data1 <- list(rnorm(100),rnorm(100),rnorm(100))
data2 <- list(rnorm(100),rnorm(100),rnorm(100))
data3 <- list(rnorm(100),rnorm(100),rnorm(100))
data <- list(data1,data2,data3)
现在,我想要获得每个向量的平均值列表。结果将是一个包含三个元素(列表)的列表。
我只知道如何获取一组向量的结果列表,但是对于每个向量的平均值列表,我不确定该怎么做。
for (i in 1:length(data1)){
means <- lapply(data1,mean)
}
或者使用:
lapply(data1,mean)
而我知道如何使用rapply
获取所有的均值:
rapply(data,mean)
问题是rapply不会保持列表结构。希望能得到帮助并可能一些提示/解释。
seq_along
而不是像length
这样的函数?这有关系吗? - MIH