【问题标题】:how to calculate row means in a data frame?如何计算数据框中的行均值?
【发布时间】:2015-08-08 21:07:28
【问题描述】:

我有一个包含 1000 列和 8 行的数据框,我需要计算行均值。我尝试了这个循环:

final <- as.data.frame(matrix(nrow=8,ncol=1))
for(j in 1:8){
  value<- mean(dataframe[j,])
  final[j,]<-value
}

但出现以下错误:

在 mean.default(df2[j, ]) 中:参数不是数字或逻辑: 返回不适用

【问题讨论】:

  • 您没有提到您的数据是什么,但 1000x8 格式表明它在通常如何创建表格方面进行了转置,观察在行中,变量在列中。这就是大多数函数处理数据的方式以及有多少运算符和对象(包括数据框)起作用。如果您决定转置数据,您可以使用t(),然后使用colMeans()

标签: r dataframe stat


【解决方案1】:

使用rowMeans()函数:

final$mean <- rowMeans(final, na.rm=TRUE)

请注意,您应该避免在日常R 操作中使用循环。如果您想自己遍历所有行,可以使用 apply() 函数,如下所示:

final$mean <- apply(final, 1, function(x) { mean(x, na.rm=TRUE) })

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 2020-12-16
    • 2022-08-23
    • 2015-08-02
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多