将黄土平滑应用于时间序列

时间:2012-07-13 15:57:03

标签: r loess

我想通过应用黄土函数来平滑我绘制的时间曲线,但我无法使其工作。 一个例子:

mydat <- runif(50)
day1 <- as.POSIXct("2012-07-13", tz = "UTC")
day2 <- day1 + 49*3600*24
pdays <- seq(day1, day2, by = "days")
lo <- loess(mydat ~ pdays)

我收到以下消息:

Error: NA/NaN/Inf in foreign function call (arg 2)

是否可以将黄土平滑应用于时间序列

非常感谢任何帮助或指导!

1 个答案:

答案 0 :(得分:12)

我认为这里的想法是以数字形式(使用as.numeric)转换您的时间序列,以便您可以执行操作。

mydat <- runif(50)
day1 <- as.POSIXct("2012-07-13", tz = "UTC")
day2 <- day1 + 49*3600*24
pdays <- seq(day1, day2, by = "days")
lo <- loess(mydat ~ as.numeric(pdays))

# And then if you want to plot the result:
plot(pdays,mydat)
lines(pdays, lo$fitted)