【发布时间】:2015-12-12 02:49:35
【问题描述】:
我有一个具有以下形状的 data.table:
Order_ID Item Amount
1: a i1 1
2: a i2 2
3: a i3 3
4: b i1 2
5: b i3 1
6: c i2 3
7: c i3 4
所以,有一些项目的三个订单。我想用一个 data.table 命令做的是添加订单的项目总数并在每一行中给出:
Order_ID Item Amount Total
1: a i1 1 6
2: a i2 2 6
3: a i3 3 6
4: b i1 2 3
5: b i3 1 3
6: c i2 3 7
7: c i3 4 7
我通过创建一个新的 data.table 并将其与第一个合并到那里。但我认为必须有一种更优雅的方式。 :)
感谢您的帮助!
【问题讨论】:
-
df$Total <- ave(df$Amount, df$Order_ID, FUN = sum)? -
检查下面的答案,因为它提供了实际的 data.table 语法。我只是想确保这就是您所需要的。
标签: r data.table aggregation