我正在努力将zoo
对象转换为ts
对象。
我有一个带有季度小时数据的巨大 data.frame “测试”,如下所示:
date <- c("2010-07-04 09:45:00", "2010-07-04 10:00:00", "2010-07-04 10:15:00", "2010-07-04 10:30:00", "2010-07-04 10:45:00", "2010-07-04 11:00:00")
nrv <- c("-147.241", "-609.778", "-432.289", "-340.418", "-73.96" , "-533.108")
tt <- c("3510.7", "3608.5", "3835.7", "4003.7", "4018.8", "4411.9")
test <- data.frame(date,nrv,tt)
test
我想做一些预测(主要是ARIMA
),并认为这个forecast
包是一个好主意。首先,我将数据格式化为远离字符。
test$date <- strptime(test$date,format="%Y-%m-%d %H:%M")
test$nrv <- as.numeric(as.character(test$nrv))
test$tt <- as.numeric(as.character(test$tt))
str(test) #date is POSIXlt object
由于我需要进行插值并构建滞后,我还使用了zoo
使用日期变量作为索引的包,效果很好。`zoo
在处理时间序列数据时向我推荐了这个包。
library(zoo)
test.zoo <- zoo(test[,2:3],test[,1])
test.zoo #date is now the Index and and the zoo objects works nicely
但后来我意识到预测似乎只适用于ts
对象。(真的吗?)
当我尝试将zoo
对象转换为ts
对象时,我的时间索引消失了。我认为这可能是由于没有使用适当的频率。ts
但是,对于这个数据集和一般对象的工作频率,我有些迷茫。
test.ts <- as.ts(test.zoo)
test.ts
如何将此zoo
对象转换回ts
可用于预测的对象?谢谢!