我正在努力将zoo对象转换为ts对象.
我有一个巨大的data.frame"test",包含季度小时数据,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我想做一些预测(大多数情况下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
Run Code Online (Sandbox Code Playgroud)
由于我需要进行插值并构造滞后,我还使用了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
Run Code Online (Sandbox Code Playgroud)
但后来我意识到预测似乎只适用于ts对象.(真的吗?)
当我试图将zoo对象转换为ts对象时,我的时间索引消失了.我想这可能是因为没有使用合适的频率.但是,对于这个数据集和ts一般对象的工作频率,我有点迷失.
test.ts <- as.ts(test.zoo)
test.ts
Run Code Online (Sandbox Code Playgroud)
如何将此zoo对象转换回ts可用于预测的对象?谢谢!
预测包仅适用于ts您怀疑的对象。
您可以test.ts与预测包一起使用。例如
plot(forecast(test.ts[,1]))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6421 次 |
| 最近记录: |