dplyr - R 完成带有group_by和完整的列

  显示原文与译文双语对照的内容
69 0

我在使用 dplyr group_by 函数时遇到了一个小问题。 完成这里操作后:


datasetALL %>% group_by(YEAR,Region) %>% summarise(count_number = n()) 



以下是结果:


YEAR Region count_number


<int> <int> <int>


1 1946 1 2


2 1946 2 3


3 1946 3 1


4 1946 5 1


5 1947 3 1


6 1947 4 1



我想要点类似的东西:


YEAR Region count_number


<int> <int> <int>


1 1946 1 2


2 1946 2 3


3 1946 3 1


4 1946 5 1


5 1946 4 0 #order is no important


6 1947 1 0


7 1947 2 0


8 1947 3 1


9 1947 4 1


10 1947 5 0



我尝试使用tidyr包中的complete(),但它没有成功。

时间: 原作者:

68 5

使用tidyr包中的complete 应该可以工作。 你可以在这里找到关于它的文档

可能发生的是你没有删除分组。 然后,完成尝试在每个组中添加 YEARRegion的每个组合。 但是所有这些组合已经在分组中。 因此首先删除分组,然后完成。


datasetALL %>% 


 group_by(YEAR,Region) %>% 


 summarise(count_number = n()) %>%


 ungroup() %>%


 complete(Year, Region, fill = list(count_number = 1))



原作者:
...