Frage

I would like to smooth a time curve, that I have plotted, by applying a loess function, but I can't get it to work. An example:

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)

I get the following message:

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

Is it possible to apply a loess smoothing to a time series

Any help or guidance is greatly appreciated!

War es hilfreich?

Lösung

I think the idea here is to convert your time series in a numerical form (using as.numeric) so you can perform the operation.

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top