R:使用getSymbols(),“quantmod”包

时间:2018-06-15 20:06:20

标签: r xts quantmod

我觉得我可能不理解表格类型。我正在使用“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 - 价格

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

因此,当您导入AAPL的数据时,它在rownames中有日期,这就是为什么当您尝试导出它时,它不包含日期。 使用这个

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

导入后使用下面的代码然后导出x:

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

答案 1 :(得分:0)

quantmod::getSymbols()默认返回xts对象。 xts对象基于动物园对象,动物园对象是一个带有索引的矩阵&#39;属性。打印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"