如何删除 summarize_all 中的 NA 以同时汇总多个 col?

how to remove NA in summarize_all to summarize mutliple col at the same time?

我有一个这样的数据框,想使用 dplyr 总结忽略 NA 的每个列的平均值:

df= data.frame('var1'=sample(10,3),'var2'=sample(10,3), 'var3'=c(NA, NA,1), 'var4'=c(2,NA,6))
df %>% summarise_all(mean)

但是,这将 return NA 在第 3 列和第 4 列中。 如何传入 na.rm=T?

> df %>% summarise_each(funs(mean(., na.rm = TRUE)))
  var1 var2 var3 var4
1    5    5    1    4

你可以使用 IDPmisc 库 示例

M <- matrix(c(NA,1:7,NA),nrow=3)
M
NaRV.omit(M)

您可以简单地使用 hablar 中的 mean_,默认为 na.rm = T

library(hablar)
df %>% summarise_all(mean_)

      var1     var2 var3 var4
1 6.666667 4.666667    1    4