【发布时间】:2016-10-12 18:18:49
【问题描述】:
我有一张表需要重新格式化。表格如下:
date ItemID NewPrice Sale Amount
1-1 1 5 3
1-1 2 8 2
1-1 3 3 5
1-2 1 6 4
1-2 3 4 3
1-3 2 7 2
1-3 3 2 1
我要重新制定的第一个表格如下所示:
date item_1 item_2 item_3
1-1 3 2 5
1-2 4 0 3
1-3 0 2 1
item id 成为列名,value 是销售额。棘手的部分是,在某些日子里,有些项目没有记录,就像 1-2 中的项目 2 没有项目记录一样。在这种情况下,销售金额应填写为0。
我想重新制定的第二个表格如下所示:
date item_1 item_2 item_3
1-1 5 8 3
1-2 6 8 4
1-3 6 7 2
所以我想要做的是使用 item_id 作为列,并使用 NewPrice 作为每个日期的值。
棘手的部分是,在每一天,总是有一些项目没有出现,所以那天没有这个项目的 NewPrice。在这种情况下,NewPrice 应该是最后一天的 NewPrice。
【问题讨论】:
-
你检查过
dcast和library(reshape2)即dcast(dfN, date~paste0("item_", ItemID), value.var="SaleAmount", fill=0)
标签: r aggregation reshape2