1

我有一个像这样的数据框,想总结每个使用 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?

4

3 回答 3

4
> df %>% summarise_each(funs(mean(., na.rm = TRUE)))
  var1 var2 var3 var4
1    5    5    1    4
于 2017-08-07T16:50:31.303 回答
0

您可以简单地使用mean_from hablarthat hasna.rm = T作为默认值:

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

      var1     var2 var3 var4
1 6.666667 4.666667    1    4
于 2018-11-19T20:01:23.070 回答
-1

您可以使用 IDPmisc 库示例

M <- matrix(c(NA,1:7,NA),nrow=3)
M
NaRV.omit(M)
于 2017-08-07T17:25:46.093 回答