将 csv 从 R 写入 excel 时提取日期

Extracting dates when writing csv from R to excel

我正在从 r(quantmod 用于从外部来源引入数据)提取股票价格列表(开盘价、最高价、最低价、收盘价、交易量等)到 excel,但是省略了日期列。

我认为问题在于因为 'date' 未被识别为变量,而其他列是(Open、High 等)。我尝试通过 as.Date(从 Sys.Date-365 到 Sys.Date 插入日期,因为我只需要一年的数据集),然后绑定它们。然而,由于长度不同,而且这是一个基于矢量的列表,它不适合(来自外部来源的数据只显示一个工作日,其中 as.Date 将显示完整的 365 天。

x <- getSymbols("SPY", src ="yahoo", from=Sys.Date()-365, to=Sys.Date(), auto.assign=FALSE )

write.csv(s, file = "test.csv")

像上面那样编写 csv 将导致日期列显示为 1、2、3、4 ...,但我需要与 r 的“查看”模式中显示的价格匹配的日期。

它与 getSymbols 创建的 xts zoo 对象如何存储其行索引有关。只需在导出时将其转换为正常的 data.frame 即可将日期索引包含为字符串:

ysyms <- getSymbols("SPY",
                    src = "yahoo",
                    from = Sys.Date()-365,
                    to = Sys.Date(),
                    auto.assign = FALSE
                    )

# Convert to data.frame on export.
write.csv(as.data.frame(ysyms), file = "test.csv")

问题中的 x 不是 data.frame -- 它是 zoo/xts 对象,所以使用 write.zoo:

write.zoo(x, "file.csv", sep = ",")