我想创建一个data.frame(我知道矩阵会更快,但我需要一个data.frame),但它需要很长时间(超过30分钟)。我确信有比我已经尝试过的更好的方法。矢量化数据框的创建?
我有一个大对象(好吧,在磁盘上之前没有那么大〜= 100MB大小read.csv())是这样的:
Date City V3 V4
1 2008-12-30 NewYork 15 54
2 2008-12-31 NewYork 16 34
[...]
4001 2008-12-30 London 12 12
4002 2008-12-31 London 16 44
[...]
9001 2008-12-30 Madrid 26 54
9002 2008-12-31 Madrid 64 23
...可以想象很多城市(更超过500)和很多日期(20年的日常数据,但有时在不规则的时间序列中(也就是说,马德里可能是唯一在2001-01-01有意见的城市))。
我要的是一个data.frame安排他们,使该行的名称将是日期和列名的城市名称,像这样的:
NewYorkV3 LondonV3 MadridV3
2008-12-30 15 12 26
2008-12-31 16 16 64
我已经试过(欲盖弥彰最终对象的增长)是:
uniqs <- unique(city.data[ ,2])
city.list <- vector('list', length(uniqs))
for (i in 1:length(uniqs)) {
city.list[[i]] <- subset(city.data, City==as.character(uniqs[i]))[ ,3]
}
city.df <- do.call('cbind', city.list)
我确定有一种更有效的方法,但是这是什么?
我可以加载对象为xts吗?怎么样?我遇到了我无法理解的错误... Can Dates的列可以具有相同的值吗?
我可以融化并重塑物体吗?怎么样? (再次出错)
谢谢!