根据ID对行进行求和

时间:2015-10-29 07:08:02

标签: r

我有两列id和value。我试图用相同的ID汇总所有行。我试图在不使用聚合函数的情况下将其创建为单独的列。最好使用^(?=.*[a-z])(?=.*[0-9]).+$ R,因为我正在尝试在Radiant应用程序中创建计算字段

base

寻找如下结果

ID    value
456   4
456   5
781   10
781   1
123   5
321   3
123   8
321   12

1 个答案:

答案 0 :(得分:3)

我们可以使用dplyr。我们按“ID”分组,然后按transmute分组,以创建新的“总计”列作为“值”的sum

library(dplyr)
df1 %>%
    group_by(ID) %>% 
    transmute(Total=sum(value))

或者使用ave中的base R来获取{ID'分组的sum'ID'到transform数据集以创建新列。

transform(df1, Total= ave(value, ID, FUN=sum))[-2]