我有3個文件與3個變量:日期,ID和價格。我想按日期來合併它們,因此如果我當前的文件是:合併.csv文件與R
date ID Price
01/01/10 A 1
01/02/10 A 1.02
01/02/10 A 0.99
...
...
我想獲得一個合併的文件,看起來像下面的一個ID分別爲A,B和C(鐠價格面議) :
date Pr.A Pr.B Pr.C
01/01/10 1 NA NA
01/02/10 1.02 1.2 NA
01/03/10 0.99 1.3 1
01/04/10 NA 1.23 2
01/05/10 NA NA 3
請注意,某些日期沒有價格,因此在這種情況下是NA。
我目前的方法可行,但我覺得有點笨拙。
setwd('~where you put the files')
library(plyr)
listnames = list.files(pattern='.csv')
pp1 = ldply(listnames,read.csv,header=T) #put all the files in a data.frame
names(pp1)=c('date','ID','price')
pp1$date = as.Date(pp1$date,format='%m/%d/%Y')
# Reshape data frame so it gets organized by date
pp1=reshape(pp1,timevar='ID',idvar='date',direction='wide')
有什麼更好的方法可以想到嗎?
轉到http://stackoverflow.com/questions/1562124/merge-many-data-frames-from-csv-files –
一個注意 - 鏈接文件' 「a1.csv」'包含了幾個額外的用逗號分隔的行沒有數據。我手動刪除它們,而不是在那裏做R代碼。 –
我其實覺得你在'reshape'這裏做了什麼是一個很好的選擇。 – joran