在R中对两组求和并创建面板

vfh0ocws  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(94)

我有以下数据集:

id_municipio   ano CLARO    OI   TIM  VIVO
1      1300029  1999     0     5     0     0
2      1300029  2006     0     2     0     0
3      1300029  2012     0     0     0     2
4      1300029  2015     0     2     0     0
5      1300029  2016     2     0     0     2
6      1300029  2022     0     0     1     0

我想用“id_municipio”和“ano”对“CLARO”、“OI”、“TIM”和“VIVO”求和。因此,我将有以下面板:

id_municipio   ano CLARO    OI   TIM  VIVO
1      1300029  1999     0     5     0     0
2      1300029  2006     0     7     0     0
3      1300029  2012     0     7     0     2
4      1300029  2015     0     9     0     2
5      1300029  2016     2     9     0     4
6      1300029  2022     2     9     1     4

我知道它应该是这样的,但我一直得到原始数据集。我做错了什么?

teste_3 <- teste_2 %>%
    group_by(id_municipio, ano) %>%
    arrange(ano) %>%
    mutate(
        CLARO = cumsum(CLARO),
        OI = cumsum(OI),
        TIM = cumsum(TIM),
        VIVO = cumsum(VIVO)
    )
t5fffqht

t5fffqht1#

我可以通过从代码中删除“ano”来解决这个问题。

teste_3 <- teste_2 %>%
    group_by(id_municipio, ano) %>%
    arrange(ano) %>%
    mutate(
        CLARO = cumsum(CLARO),
        OI = cumsum(OI),
        TIM = cumsum(TIM),
        VIVO = cumsum(VIVO)
    )

相关问题