我正在使用flu
数据包中的数据集astsa
,其中包含1968年至1978年的每月测量值。
现在,我希望有一个范围相同的序列(12 * 11 = 132),其中包含这些测量时间点,这样我就可以绘制带有线的黄土曲线,如下面的代码所示。
不幸的是,即使我单独绘制(用x = measurement_points绘制),红色黄土曲线看起来也很平坦。
问题绝对是时间测量点,我只是不能正确地将它们用作行的索引(预测黄土)。如何使用我的数据集正确解决此问题?
install.packages("astsa")
library(astsa)
data(flu)
tm <- seq(flu)
infpneum <- ts(flu,start=1968,freq=12)
res <- loess(infpneum ~ tm,span=0.1)
pred <- predict(res)
measurement_points <- seq(as.Date("1968-01-01"),as.Date("1978-12-31"),by="months")
plot(infpneum)
lines(pred,type="l",col="red",x=measurement_points)
答案 0 :(得分:2)
这是您的主意吗?
plot (measurement_points, infpneum, type = "l")
lines(measurement_points, res$fitted, type="l", col="red")
答案 1 :(得分:1)
一种解决方案是通过模仿infpneum
结构来创建时间序列对象:
library(astsa); data(flu)
tm <- seq(flu)
infpneum <- ts(flu,start=1968,freq=12)
str(infpneum) #just to see how it's structured
## Time-Series [1:132] from 1968 to 1979: 0.811 0.446 0.342 0.277 0.248 ...
res <- loess(infpneum ~ tm,span=0.1)
pred <- ts(predict(res),start=1968,freq=12)
str(pred) #just to see how it's structured
## Time-Series [1:132] from 1968 to 1979: 0.706 0.54 0.41 0.314 0.248 ...
plot(infpneum)
lines(pred,type="l",col="red")
由reprex package(v0.2.1)于2019-05-20创建