2012-07-13 43 views
3

我想通過應用黃土函數來平滑時間曲線,但我無法使其工作。 一個例子:在時間序列上應用黃土平滑

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) 

是否有可能應用黃土平滑的時間序列

任何幫助或指導,不勝感激!

回答

10

我認爲這裏的想法是以數字形式(使用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) 
+0

+1我同意你的分析 – Andrie 2012-07-30 09:18:38

+0

非常感謝!這有幫助! – Sisse 2012-07-30 13:02:33