我有一个数据表,其中包含有关某些特定服务使用情况的数据的行。此数据描述了不同地区不同服务类型的使用情况:
type region quantity timestamp
small A 2 05/01/15
small B 1 05/01/15
big A 1 05/01/15
small A 2 06/01/15
small B 1 06/01/15
big A 3 06/01/15
...etc
我正在对类型和区域的每个唯一组合的数据系列执行一些操作(这些组合中的每一个都产生自己的时间序列,因此small-A
应独立于small-B
处理,例如)
我已经想出如何使用这样的聚合数据进行这些操作:
aggregatedDT <- DT[, .(quant = sum(quantity)), by = .(week, region,type)]
现在我需要将每个数据系列保存到单独的CSV文件中。我不确定是否有一些内置功能来执行此类操作,因此我想知道这是否可行。
我想要的输出是:
小A.csv :
week1: total quantity
week2: total quantity
...
对于 small-B.csv , big-A.csv 等同样的事情。此刻,我将这些数据放在一个聚合数据中。但是这些csv文件是另一个算法的输入,需要逐个获取时间序列。
答案 0 :(得分:4)
你可以尝试这样的事情来保持内部&#39; data.table,同时生成适当的文件名:
aggregatedDT[,write.csv(.SD,file=sprintf("%s-%s.csv", unique(type),unique(region))),
by=.(region,type)]
使用的数据:
aggregatedDT <- data.table(expand.grid(week=1:2, region=c("A","B"),type=c("big","small")),
quant=1:8)