我有一个像这样的数据框,想总结每个使用 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?
> df %>% summarise_each(funs(mean(., na.rm = TRUE)))
var1 var2 var3 var4
1 5 5 1 4
您可以简单地使用mean_
from hablar
that hasna.rm = T
作为默认值:
library(hablar)
df %>% summarise_all(mean_)
var1 var2 var3 var4
1 6.666667 4.666667 1 4
您可以使用 IDPmisc 库示例
M <- matrix(c(NA,1:7,NA),nrow=3)
M
NaRV.omit(M)