as.xts函数中的dateFormat

时间:2019-10-21 05:14:06

标签: r xts zoo

我想将R中附带的数据集“ co2”转换为CSV。 我的代码如下:

require(xts)
require(zoo)
co2_xts <- as.xts(co2)
write.zoo(co2_xts, file="demo.csv",sep=",")

这很好。但是时间索引显示为例如“ ene。1959”(西班牙语)。我希望索引尽可能采用“%B%Y”格式。如果我使用:

co2_xts <- as.xts(co2,dateFormat="%B %Y")

这会引发错误:

Error in `as.%B %Y`(c(1959, 1959.08333333334, 1959.16666666668, 1959.25000000002,  : 
could not find function "as.%B %Y"

那我怎样才能实现我想要的?

2 个答案:

答案 0 :(得分:0)

使用indexFormat函数创建xts后,您可以调整索引格式。

在这种情况下:

indexFormat(co2_xts) <- "%B %Y" 

请注意,这只会更改显示格式。

答案 1 :(得分:0)

您是否考虑过timetk软件包并保存标题?

require(timetk)
co2_tbl <- tk_tbl(co2, start = start(co2), freq = 12)

然后使用更通用的write.csv或更快的方法之一,例如fread :: write_csv(如果文件很长:

write.csv(co2_tbl, file="demo.csv", row.names=FALSE)