【问题标题】:R: Export CSV with dates from getSymbols(), "quantmod" packageR:从 getSymbols()、“quantmod”包中导出带有日期的 CSV
【发布时间】:2018-11-25 16:19:31
【问题描述】:

我觉得我可能不了解表格类型。我正在使用包“quantmod”和函数getSymbols("AAPL", src = "yahoo") 提取数据。数据显示在我的网格中,并且可以在 R 中使用。

我正在尝试通过write.csv() 导出,但日期已转换为升序数字(1、2、3、...)。当日期是记录名称时,有没有办法导出日期?

这是我正在使用的:

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

R 显示:

日期 - 价格

CSV 中的 excel 显示:

1 - 价格

非常感谢任何帮助!

【问题讨论】:

    标签: r xts quantmod


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢!我假设行名也是记录名,并且会像 SQL 一样导出。我没有意识到 R 在表之外存储了一个 rownames() 并且必须添加。
    • 我正在使用 dplyr() 的路线: > AAPL$names
    • 因此,当您使用 getsymbols() 时,它会将数据导入为 R 中的“xts”。您可以在此处阅读有关 xts 的信息:link .. 所以您必须先将其更改为 data.frame即使您想使用 dplyr 也可以进行任何更改。尝试运行 rownames(AAPL) 您会明白我的意思,其输出为 NULL
    • 谢谢!很棒的信息。我不是 100% 了解 xts,但这篇论文为我提供了背景信息,让我了解它背后的原因。当我开始创建用户定义的函数时,这似乎非常有用。我尝试过的另一个有用的代码行是带有 index() 的 as.data.frame()。似乎也可以:new_AAPL
    • 深入了解 xts 之后,有一些快速有用的时间序列函数,例如 to.period()。再次感谢您的阅读!
    【解决方案2】:

    quantmod::getSymbols() 默认返回一个 xts 对象。 xts 对象基于 zoo 对象,它们是具有“索引”属性的矩阵。您在打印 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" 
    

    【讨论】:

    • 这非常适合将此 xts 导出为文本。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2016-06-02
    相关资源
    最近更新 更多