簡體   English   中英

R:使用getSymbols(),“ quantmod”包中的日期導出CSV

[英]R: Export CSV with dates from getSymbols(), “quantmod” package

我覺得我可能不了解表類型。 我使用包“ quantmod”和函數getSymbols("AAPL", src = "yahoo")提取數據。 數據顯示在我的網格中,並且可以在R中使用。

我正在嘗試通過write.csv()導出,但是日期變成了升序數字(1,2,3,...)。 當它是記錄名稱時,是否還可以導出日期?

這就是我正在使用的:

write.csv(AAPL, "C:/Users/Desktop/AAPL.csv", row.names = TRUE)

R顯示:

日期-價格

Excel中的CSV顯示:

1-價格

任何幫助深表感謝!

因此,當您為AAPL導入數據時,它的行名中包含日期,這就是為什么當您嘗試導出數據時,它不包含日期的原因。 用這個

getSymbols("AAPL", src = "yahoo")

導入后,請使用以下代碼,然后導出x:

x<-data.frame(AAPL)
x$date<-rownames(x)
rownames(x)<-NULL

默認情況下, quantmod::getSymbols()返回一個xts對象。 xts對象基於Zoo對象,而Zoo對象是具有'index'屬性的矩陣。 打印xts / zoo對象時看到的日期是索引屬性,而不是行名(或記錄名)。

將xts / zoo對象寫入文本文件的最簡單方法是使用write.zoo() 它將自動在文件的第一列中包含索引。

write.zoo(AAPL, "aapl.csv", sep = ",")
readLines("aapl.csv", n = 5)
[1] "\"Index\",\"AAPL.Open\",\"AAPL.High\",\"AAPL.Low\",\"AAPL.Close\",\"AAPL.Volume\",\"AAPL.Adjusted\""
[2] "2007-01-03,12.327143,12.368571,11.7,11.971429,309579900,8.073009"                                   
[3] "2007-01-04,12.007143,12.278571,11.974286,12.237143,211815100,8.252192"                              
[4] "2007-01-05,12.252857,12.314285,12.057143,12.15,208685400,8.193427"                                  
[5] "2007-01-08,12.28,12.361428,12.182858,12.21,199276700,8.233888" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM