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

Sis*_*sse 4 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)
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

Error: NA/NaN/Inf in foreign function call (arg 2)
Run Code Online (Sandbox Code Playgroud)

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

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

pla*_*pus 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)
Run Code Online (Sandbox Code Playgroud)