我有四个向量:
a<-c(1,2,3,4,5)
b<-c(2,3,4,5,6)
c<-c(3,5,6,7,2)
d<-c(5,7,3,7,2)
我想计算平均值,以便得到:
average
2.75 4.25 4.00 5.75 3.75
有人可以就如何做到这一点给我一个建议吗? 谢谢。
答案 0 :(得分:2)
mapply
的解决方案:
mapply(function(...) mean(c(...)), a, b, c, d)
Reduce
的解决方案:
l <- list(a,b,c,d)
Reduce(`+`, l) / length(l)
双sapply
的解决方案:
l <- list(a,b,c,d)
sapply(seq_along(a), function(i) mean(sapply(l, function(x) x[i])))
答案 1 :(得分:1)
将它们放在矩阵中并使用rowMeans
:
a<-c(1,2,3,4,5)
b<-c(2,3,4,5,6)
c1<-c(3,5,6,7,2)
d<-c(5,7,3,7,2)
rowMeans(matrix(c(a,b,c1,d), ncol=4))
## [1] 2.75 4.25 4.00 5.75 3.75