大家好! 我试图找到类似的问题,但我没有。我们假设我们有一个像这样的简单数据框
我需要按小组汇总:na.rm=TRUE
但是,当我使用na.rm=TRUE
时,第1组消失了。绝对有必要使用customMean<-function(x){
if (all(is.na(x))){
return (NA_integer_)
} else {
return(mean(x,na.rm=TRUE))
}
}
,因为在相反的情况下,我会得到不正确的平均值。我也尝试过使用自定义功能:
navigator.splashscreen.show();
但结果是一样的。有人知道如何解决这个问题吗?我希望最终结果如下:enter image description here。 感谢
答案 0 :(得分:1)
默认情况下,aggregate
的公式方法有na.action=na.omit
。因此,如果存在NA
值,则会删除整行。我们可以将其更改为na.action=NULL
,它应该有效。
aggregate(value~group, data=data, mean,na.rm=TRUE, na.action=NULL)
# group value
#1 1 NaN
#2 2 2.5