使用group_by完成列并完成

Ben*_*Ben 5 r dplyr tidyr

我使用dplyr group_by函数有点问题.这样做之后:

datasetALL %>% group_by(YEAR,Region) %>% summarise(count_number = n()) 
Run Code Online (Sandbox Code Playgroud)

这是结果:

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
Run Code Online (Sandbox Code Playgroud)

我想要像:

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
Run Code Online (Sandbox Code Playgroud)

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

Pie*_*ter 12

使用completetidyr包应该可行.您可以在此处找到有关它的文档.

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

datasetALL %>% 
    group_by(YEAR,Region) %>% 
    summarise(count_number = n()) %>%
    ungroup() %>%
    complete(Year, Region, fill = list(count_number = 1))
Run Code Online (Sandbox Code Playgroud)

  • `complete`文档很糟糕,在启动`complete/nesting`之前没有提供一个简单的例子 (9认同)
  • 您可能会说它已经完成了。 (8认同)