允许在聚合函数中与NA分组 [英] Allow grouping with NA in aggregate function

查看:94
本文介绍了允许在聚合函数中与NA分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里是伪数据

temp.df <- data.frame(count = rep(1,6), x = c(1,1,NA,NA,3,10), y=c("A","A","A","A","B","B"))

当我应用以下总计时:

aggregate(count ~ x + y, data=temp.df, FUN=sum, na.rm=FALSE, na.action=na.pass)

我得到:

   x y count
1  1 A     2
2  3 B     1
3 10 B     1

但是,我需要以下输出:

However, I would like the following output:

   x  y count
1  NA A     2
2  1  A     2
3  3  B     1
4 10  B     1

希望有道理。谢谢。

推荐答案

使用 addNA 治疗 NA 作为x的不同级别。

Use addNA to treat NA as a distinct level of x.

> temp.df$x <- addNA(temp.df$x)
> aggregate(count ~ x + y, data=temp.df, FUN=sum, na.rm=FALSE, na.action=na.pass)
     x y count
1    1 A     2
2 <NA> A     2
3    3 B     1
4   10 B     1

这篇关于允许在聚合函数中与NA分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆