我正在处理销售数据集,我需要重新构建一个类似于以下内容的data.table:
ID sales month
23 657 01
67 889 01
.
.
.
23 238 12
格式如下:
ID 01 02 03 ... 12
23 657 445 223 ... 238
67 889 990 765 ... 555
.
.
.
我目前拥有的代码提供了要应用的所有唯一ID的列表,该函数获取具有匹配ID的所有行,创建具有一行的数据表,然后使用rbindlist将其连接到主重组表中。
这适用于少量唯一ID(〜600),但是当ID数量很大时,它非常慢并且不可行。有没有更有效的方法可以做到这一点?(特定于data.table的方法?)
我们可以使用dcast
从data.table
library(data.table)
dcast(setDT(Df1), ID ~ month, value.var = 'sales')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句