R语言 - 对于每个列值,将在另一列中找到的内容相加

时间:2014-12-08 18:24:32

标签: r statistics sum

我已经说过像这样格式化的文件

id  votes   irrelevantcolumn
1   10  abcd

5   28  abcd

1   30  abcd

9   45  abcd

3   23  abcd

3   21  abcd

2   46  abcd

7   90  abcd

9   12  abcd

我想要的是获得每个ID的总和 例如我想得到一个像

的新表
id  votes

1   40

2   46

3   44

5   28

7   90

9   57

1 个答案:

答案 0 :(得分:1)

aggregate

尝试base R
aggregate(votes~id, df, FUN=sum)
#   id votes
#1  1    40
#2  2    46
#3  3    44
#4  5    28
#5  7    90
#6  9    57

library(dplyr)
df %>%
    group_by(id) %>%
    summarise(votes=sum(votes))        

library(data.table)
setDT(df)[, list(votes=sum(votes)), by=id]