
14 Abr
2016
14 Abr
'16
19:40
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)