R:从 getSymbols(),"quantmod" 包中导出带有日期的 CSV

R: Export CSV with dates from getSymbols(), "quantmod" package

我觉得我可能不了解table类型。我正在使用包 "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() returns 默认是一个 xts 对象。 xts 对象基于 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"