时间:2018-02-08 14:20:01

标签: r data-manipulation

我目前遇到以下问题, 情形:

  

我有两列共同作为"主键和列   我希望总结的价值观。重要的是,我想要总结价值   使用相同的"主键"

复制所有记录

所以它应该是这样的:

Col1 Col2 Col3 la01
A1   B1   EPP  1
A1   B2   EPP  1
A1   B1   EPQ  2

Trasnofrms into:

Col1 Col2 Col3 la01
A1   B1   EPP  3
A1   B2   EPP  1
A1   B1   EPQ  3

我使用group_by使用其中一个summarise版本取得了一些成功,但我得到的最好成绩是按记录数分割的总和结果总结,但我需要复制

期待您的想法和答案。

1 个答案:

答案 0 :(得分:2)

在对数据框进行分组时,您应该使用 mutate()而不是 summarize()。它使您能够保持数据框的相同维度,而不是汇总某些行。

df <- data.frame(Col1 = rep('A1', 3), 
                 Col2 = c('B1', 'B2', 'B1'), 
                 Col3 = c('EPP', 'EPP', 'EPQ'), 
                 la01 = c(1,1,2))

df %>% 
   group_by(Col1, Col2) %>% 
   mutate(la01 = sum(la01)) %>% 
   ungroup()

# A tibble: 3 x 4
    Col1   Col2   Col3  la01
  <fctr> <fctr> <fctr> <dbl>
1     A1     B1    EPP     3
2     A1     B2    EPP     1
3     A1     B1    EPQ     3