[R] functions for special na handling?
Sundar Dorai-Raj
sundar.dorai-raj at PDF.COM
Mon Oct 25 22:36:54 CEST 2004
Robert Sams wrote:
> hi,
>
> i need a function that can replace na's in univariate ts objects with a value interpolated linearly
> using the adjacent non-na values. for example, the function i need (myfun) would do the following
>
>
>>x <- ts(10,11.4,NA,12,9.7)
>>y <- myfun(x)
>>y
>
> 10 11.4 11.7 12 9.7
>
> i can code an na.action method myself to accomplish this, but has someone else already coded routines
> of this nature?
>
> many thanks,
> robert
>
>
> Robert Sams
Hi Robert,
Will the following do?
na.approx <- function(x) {
na <- is.na(x)
if(all(!na)) return(x)
i <- seq(along = x)
x[na] <- approx(i[!na], x[!na], i[na])$y
x
}
> x <- c(10,11.4,NA,12,9.7)
> na.approx(x)
[1] 10.0 11.4 11.7 12.0 9.7
--sundar
More information about the R-help
mailing list