【发布时间】:2016-03-18 18:36:40
【问题描述】:
我可以将data.frame 与dplyr 简单地聚合为以下内容:
z <- data.frame(a = rnorm(20), b = rep(letters[1:4], each = 5))
library(dplyr)
z %>%
group_by(b) %>%
summarise(out = n())
Source: local data frame [4 x 2]
b out
(fctr) (int)
1 a 5
2 b 5
3 c 5
4 d 5
但是,有时数据集可能会缺少一个因素。在这种情况下,我希望输出为0。
例如,假设典型的数据集应该有 5 个组。
z$b <- factor(z$b, levels = letters[1:5])
但很明显,这个特定中没有任何内容,但可能在另一个中。我怎样才能聚合这些数据,所以缺少factors 的length 是0。
期望的输出:
Source: local data frame [4 x 2]
b out
(fctr) (int)
1 a 5
2 b 5
3 c 5
4 d 5
5 e 0
【问题讨论】:
-
你可以像这样使用
tapplytapply(z$b, z$b, length) -
我认为这是open issue on github。