如何将时间序列的时间属性转换为R中的日期格式?

时间:2015-04-18 18:54:25

标签: r

我有时间序列的时间属性:

time(ts(1:20, start = c(2014, 1), frequency = 12))

我想将此转换为一系列日期(日期格式)。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

这不是操作系统错误,错误发生是因为您的会话中没有as.Date.ts方法,而@ Akrun的会话中存在:

这是我开始R会话的时候:

> t1 <- ts(1:20, start = c(2014, 1), frequency = 12); head(as.Date(time(t1)))
Error in as.Date.default(time(t1)) : 
  do not know how to convert 'time(t1)' to class “Date”

> methods('as.Date')
[1] as.Date.character as.Date.date      as.Date.dates     as.Date.default   as.Date.factor    as.Date.numeric   as.Date.POSIXct   as.Date.POSIXlt  

但是,如果您加载xts包,则会添加as.Date.ts方法:

library(xts)
> methods('as.Date')
 [1] as.Date.character as.Date.date      as.Date.dates     as.Date.default   as.Date.factor    as.Date.numeric   as.Date.POSIXct   as.Date.POSIXlt  
 [9] as.Date.ts        as.Date.yearmon   as.Date.yearqtr

然后它完美无缺:

> t1 <- ts(1:20, start = c(2014, 1), frequency = 12)
> head(as.Date(time(t1)))
[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01"

所以,这不是操作系统错误,因为@akrun可能已经加载了xts而OP没有