我想創建一個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的列可以具有相同的值嗎?
我可以融化並重塑物體嗎?怎麼樣? (再次出錯)
謝謝!