【问题标题】:Iterate over data frame columns to calculate the mean迭代数据框列以计算平均值
【发布时间】:2017-07-07 13:21:43
【问题描述】:

我想遍历数据框的两列,如果两列中的值都存在,则计算平均值,如果不只使用任一列中存在的值。这是一个更大数据集的虚拟示例!

  dummy <- data.frame(
  name = c("A", "B", "C" , "D"),
  x = c(66, 80, NA, 23),
  y = c(56, 90, 50, NA))

我希望输出如下所示:

     name  x  y Mean
1    A 66 56 61
2    B 80 90 85
3    C NA 50 50
4    D 23 NA 23

【问题讨论】:

  • rowMeans(dummy[,sapply(dummy, is.numeric)], na.rm = TRUE)
  • rowMeans(dummy[-1], na.rm = TRUE)

标签: r loops dataframe iteration


【解决方案1】:

我会使用 dplyr 包来执行此操作。还请告诉我们您尝试了什么!

这里还有一个重复的问题:R dplyr rowwise mean or min and other methods?

dummy_2 <- dummy %>% 
  rowwise() %>% 
  mutate(Mean = mean(c(x,y),na.rm=TRUE))

【讨论】:

    猜你喜欢
    • 2014-04-01
    • 2016-03-03
    • 2021-08-11
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多