如果这是基本的(我确定是这样),我很新闻,所以道歉,但我无法在任何地方找到答案。
我有一个数据集,显示了包含地区,销售额和日期在内的约500,000行和30列的单个产品销售额。我使用基本的data.table功能来创建基于单个组的摘要,例如按日期销售和按地区销售(即DT [,sum(Sales),by = Date]),如下所示:
Date Sales
12/1 50,000
12/2 70,000
12/3 40,000
和
Region Sales
North 67000
East 60000
South 15000
West 22000
我想做的是查看(例如)按地区和日期细分的销售情况,例如:
12/1 12/2 12/3
North 10,000 15,000 12,000
East 5,000 25,000 30,000
South 2,000 3,000 10,000
West 6,000 7,000 9,000
我希望能够对文件中包含的所有日期执行此操作(因此,每次针对不同的数据集和日期运行此日期时,我都不需要手动更改它)。这可能与data.table或其他什么有关吗?
谢谢!
答案 0 :(得分:3)
对于大型数据集,来自ArrayList
的{{1}}应该是有效的。
dcast
注意:在这里,我们假设'销售'作为data.table
类。根据示例中显示的数据,数字之间有dcast(DT, Region~Date, value.var="Sales", sum)
。所以,它可能是非数字的。如果它是非数字的,请在删除numeric
,
numeric
然后执行,