2012-02-17 43 views
0

我試圖從Excel加載數據(從多個文件)成R使用XLSX包的數據UND轉換成XTS對象。數據應該以變量名稱的形式顯示相關.xlsx工作表的名稱。數據的第一列是日期,第二列是價格。讀取數據,並轉換爲XTS

我迄今爲止代碼:

path<-"C:/test/" 
files<-list.files(path=path) 
j<-1 
for (i in files){ 
name<-strsplit(i,'[.]')[[1]][1] 
assign(name,read.xlsx(file=paste(path,i,collapse=NULL,sep=""),sheetIndex=1,header=TRUE,as.data.frame=TRUE)) 
files[j]<-name 
j<-j+1 
} 

現在我想改變的類型爲XTS對象。但我不知道如何處理日期。我找到的一個解決方案是將第一列分配爲rowname,但我不知道如何在不丟失變量名的情況下實現這一點。

我將不勝感激您的幫助。 Thx

+0

用'dated'版本覆蓋現有的列,像'是myDF $日期< - as.Date( mydf $ date,format =「%Y-%m-%d」)'。 – 2012-02-17 12:40:59

+0

我也會看看'zoo'包。 – Justin 2012-02-17 15:42:49

回答

1

我們假設,「名稱」是可變的,您想要將其轉換爲xts(可以是矩陣,數據框等),第一列是日期列,如「99/01/01」 ,那麼轉換將是:

result=xts(nasa[,-1],order.by=as.POSIXct(strptime(a[,1],'%y/%d/%m'))) 

要設置colnames,你可以這樣做:

colnames(result)=colnames(name) 
+0

非常感謝!我確實找到了一個基於我的循環的解決方案 – rainer 2012-02-18 15:41:15