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

时间:2017-08-07 16:46:43

标签: r dataframe dplyr summarize

我有一个这样的数据框,想要使用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)

然而,这将在第3栏和第4栏中返回NA。 我怎样才能传入na.rm = T?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

      var1     var2 var3 var4
1 6.666667 4.666667    1    4

答案 2 :(得分:-1)

您可以使用IDPmisc库 例子

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