添加具有相同组和总和的多个列

Add multiple columns with the same group and sum

我有这个数据框,我想将最后两列添加到另一个数据框中,方法是将它们相加并按“Full.Name”

分组
# A tibble: 6 x 5
# Groups:   authority_dic, Full.Name [6]
  authority_dic Full.Name          Entity                      `2019` `2020`
  <chr>         <chr>              <chr>                        <int>  <int>
1 accomplished  Derek J. Leathers  WERNER ENTERPRISES INC           1      0
2 accomplished  Dirk Van de Put    MONDELEZ INTERNATIONAL INC       0      1
3 accomplished  Eileen P. Drake    AEROJET ROCKETDYNE HOLDINGS      1      0
4 accomplished  G. Michael Sievert T-MOBILE US INC                  0      3
5 accomplished  Gary C. Kelly      SOUTHWEST AIRLINES               0      1
6 accomplished  James C. Fish, Jr. WASTE MANAGEMENT INC             1      0

这是我要将两列添加到的数据框:如您所见,“Full.Name”列用作分组列。

# A tibble: 6 x 3
# Groups:   Full.Name [6]
  Full.Name            `2019` `2020`
  <chr>                 <int>  <int>
1 A. Patrick Beharelle   5541   3269
2 Aaron P. Graft          165    200
3 Aaron P. Jagdfeld         4      5
4 Adam H. Schechter       147    421
5 Adam P. Symson         1031    752
6 Adena T. Friedman      1400   1655

我可以使用下面的代码添加一列,但如果我想用第二个代码来做,它会覆盖我现有的一列,我只剩下一列而不是两列。

narc_auth_total <- narc_auth %>% group_by(Full.Name) %>% summarise(`2019_words` = sum(`2019`)) %>% left_join(totaltweetsyear, ., by = "Full.Name")

此命令的输出如下所示:

# A tibble: 6 x 4
# Groups:   Full.Name [6]
  Full.Name            `2019` `2020` `2019_words`
  <chr>                 <int>  <int>        <int>
1 A. Patrick Beharelle   5541   3269           88
2 Aaron P. Graft          165    200            2
3 Aaron P. Jagdfeld         4      5            0
4 Adam H. Schechter       147    421            2
5 Adam P. Symson         1031    752           15
6 Adena T. Friedman      1400   1655           21  

我想做同样的事情并将 2020_words 列添加到同一个数据框中。我就是做不到,但也不会那么难。它也应该被总结,就像 2019_words 列一样。当我在命令中添加“2020”时,它显示 找不到对象“2020”

提前致谢。

如果我理解得很好,这将解决您的问题:

narc_auth_total <- 
  narc_auth %>% 
  group_by(Full.Name) %>% 
  summarise(
    `2019_words` = sum(`2019`),
    `2020_words` = sum(`2020`)
  ) %>% 
  left_join(totaltweetsyear, ., by = "Full.Name")