我的数据看起来像这样:
df=data.frame(a=1:6,b=rep(c("one","two"),each=3))
df[2,2]<-NA
我想计算每一行每一组的平均值,如下所示:
df %>% group_by(b) %>% mutate(mean=mean(a))
问题是R将NA视为一个组。所需的输出将是
平均值= c(2,NA,2,5,5,5)。
尝试:
df %>% group_by(b) %>% mutate(mean=if_else(b==NA,NA,mean(a)))
但这会引发错误
尝试
df %>% group_by(b) %>% mutate(mean=mean(a)) %>% mutate(mean = if_else(is.na(b), NA_real_, mean))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句