我想通过应用黄土函数来平滑我绘制的时间曲线,但我无法使其工作。 一个例子:
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)
是否可以将黄土平滑应用于时间序列
非常感谢任何帮助或指导!
答案 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)