【发布时间】:2018-06-15 15:29:57
【问题描述】:
我有这个数据框:
> df <- data.frame(o = c(0,1,1,1), e = c(1, 1, 1, 1))
> df
o e
1 0 1
2 1 1
3 1 1
4 1 1
而且我想使用某些规则进行计数。我试过这个:
out <- df %>%
mutate(L = case_when(o == 1 & e == 1 ~ 'a',
o == 0 & e == 1 ~ 'b',
o == 1 & e == 0 ~ 'c',
o == 0 & e == 0 ~ 'd')) %>%
group_by(L) %>%
summarise(n())
这样做我节省了很多时间,但我明白了:
> out
# A tibble: 3 x 2
l `n()`
<chr> <int>
1 a 3
2 b 1
如何在 out 的创建代码中包含 0 个值(c = 0 和 d = 0),以便自动生成任何字母(a、b、c 或 @987654331 @)?
【问题讨论】: