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