如何聚合大数据?
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
所以,基本上我希望销售数据中存在的每个类别组合都有一行。我也想知道一个组合的频率是多少
好吧,我用 cast
和 melt
试过了,他们让我成功了,但前提是数据集足够小。不幸的是,我有超过 300 万行数据,cast
和 melt
无法处理。
谁能告诉我如何快速聚合数据?
提前致谢!
你可以试试
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]
我有这样一个销售数据大数据集:
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
所以,基本上我希望销售数据中存在的每个类别组合都有一行。我也想知道一个组合的频率是多少
好吧,我用 cast
和 melt
试过了,他们让我成功了,但前提是数据集足够小。不幸的是,我有超过 300 万行数据,cast
和 melt
无法处理。
谁能告诉我如何快速聚合数据?
提前致谢!
你可以试试
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]