我有两列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
答案 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]