将 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 = ",")
我正在从 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 = ",")