[R-br] Substituir NA pela média de x[i-1] e x[i+1]

Felipe felipe.e.barletta em gmail.com
Quinta Abril 14 16:40:04 BRT 2016


Prezados,

Estou precisando calcular a média entre dois valore quando NA, ou seja,, 
quando tenho, por exemplo, um NA na posição 10 de um vetor, quero substituir
o NA pela média dos valores das posições 9 e 10, mean(c(x[i-1],x[i+1]).

Tentei usar ifelse(), mas não funcionou:

####
set.seed(9999)
x <- rnorm(500,10,5)
y  <- sample(1:500,50,replace=FALSE)
x[y] <- NA

media <- function(x)
{
for (i in 2:length(x))
    {
        x[i] <- ifelse(is.na(x[i]),mean(c(x[i-1],x[i+1])),x[i])

     }
}
sapply(x, media)



Mais detalhes sobre a lista de discussão R-br