我有时间序列的时间属性:
time(ts(1:20, start = c(2014, 1), frequency = 12))
我想将此转换为一系列日期(日期格式)。
最好的方法是什么?
答案 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没有