【问题标题】:Calculating the averages of several vectors in R计算R中几个向量的平均值
【发布时间】:2014-08-20 21:06:13
【问题描述】:

我有四个向量:

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

谁能给我一个建议,告诉我如何做到这一点? 谢谢。

【问题讨论】:

  • 如果你运行那几行代码,第四行会报错。

标签: r average


【解决方案1】:

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])))

【讨论】:

    【解决方案2】:

    将它们放在一个矩阵中并使用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
    

    【讨论】:

      猜你喜欢
      • 2014-05-16
      • 2019-05-19
      • 2018-05-05
      • 2020-08-12
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      相关资源
      最近更新 更多