考虑以下dplyr查询
> mpg %>% group_by(class) %>% summarise(n())输出是
# A tibble: 7 x 2
class n()
<chr> <int>
1 2seater 5
2 compact 47
3 midsize 41
4 minivan 11
5 pickup 33
6 subcompact 35
7 suv 62现在,我想将结果过滤如下:
> mpg %>% group_by(class) %>% filter(hwy==21) %>% summarise(n())也就是说,我想显示有21英里公路里程的汽车班次。结果如下:
# A tibble: 2 x 2
class n()
<chr> <int>
1 minivan 1
2 subcompact 1这是预期的结果,但是我想要看到的是所有的类,如果一个类没有公路里程为21的汽车,那么n()应该报告为0。我该怎么做?
换句话说,我需要显示以下输出的dplyr查询:
# A tibble: 7 x 2
class n()
<chr> <int>
1 2seater 0
2 compact 0
3 midsize 0
4 minivan 1
5 pickup 0
6 subcompact 1
7 suv 0其中n()是公路里程为21的汽车班次。
这个是可能的吗?
发布于 2016-11-29 15:37:15
尝尝这个
mpg %>% mutate(k=(hwy==21)) %>% group_by(class) %>%
summarise(n=sum(k))https://stackoverflow.com/questions/40869555
复制相似问题