【问题标题】:How to calculate the mean of two columns with several NA's in R?如何计算R中具有多个NA的两列的平均值?
【发布时间】:2022-11-04 21:47:05
【问题描述】:

我已经试过这个来计算两列的平均值:

df_income <- df_income %>% mutate(log_income = rowMeans(df_income_[,7,8], na.rm=TRUE)) 

但是在某些情况下,第 7 列和第 8 列都有 NA。我该怎么做才能从第 7 列和第 8 列获得平均值的新列以及对于所有行,其中两个列都是 NA,新列中的结果也应该是 NA?

【问题讨论】:

    标签: r dplyr mutate


    【解决方案1】:

    您可能需要summarize 而不是mutate,因为mean 会产生标量结果。 summarize 将返回一行数据框。 mutate,将返回一个数据帧,其中包含输入数据帧所有行的平均值的复制值。

    这将返回一个数据框,其中一行包含第 7 列和第 8 列的平均值。

    df_income %>% 
      summarize(across(c(7, 8), mean, na.rm = TRUE))
    

    这将返回一个数据框,其中的列具有所有数字列的平均值。

    df_income %>% 
      summarize(across(where(is.numeric), mean, na.rm = TRUE))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多