我可以使用以下代码简单地使用dplyr
聚合一个data.frame
:
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
tapply
:tapply(z$b, z$b, length)
。 - Raad