如何聚合大数据?

How to aggregate big data?

我有这样一个销售数据大数据集:

  Ordernumber     Category   Sold_Items
1 123             A          2
2 123             B          1
3 234             C          1
4 345             D          1
5 456             A          2
6 456             B          1

我想将其汇总为:

  A   B   C   D     frequency
  2   1             2
          1         1
              1     1 

所以,基本上我希望销售数据中存在的每个类别组合都有一行。我也想知道一个组合的频率是多少

好吧,我用 castmelt 试过了,他们让我成功了,但前提是数据集足够小。不幸的是,我有超过 300 万行数据,castmelt 无法处理。

谁能告诉我如何快速聚合数据?

提前致谢!

你可以试试

library(data.table)#v1.9.5+
dcast(setDT(df1), Ordernumber~Category, value.var='Sold_Items')[,
        frequency:=do.call(pmax, c(.SD, na.rm=TRUE)), .SDcols=2:5]