<div dir="ltr">Com a restrição de que não funcionará se você tiver dois NA em sequência direta (que com o exemplo que você coloca, acontece quatro vezes), você pode usar a função na2mean do pacote fast.<div><br></div><div>HTH</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-04-22 15:55 GMT-03:00 Leonardo Ferreira Fontenelle <span dir="ltr"><<a href="mailto:leonardof@leonardof.med.br" target="_blank">leonardof@leonardof.med.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Além das situações que já foram levantadas, parece-me que o sapply() vai<br>
fornecer um valor de cada vez para a função, e ela precisa de receber o<br>
vetor inteiro. Além disso, provavelmente dá para reescrever a função sem<br>
o for(), mas não tenho nem o R, nem um teclado de verdade ao alcance no<br>
momento.<br>
<span class="HOEnZb"><font color="#888888"><br>
Leonardo Ferreira Fontenelle<br>
<a href="http://lattes.cnpq.br/9234772336296638" rel="noreferrer" target="_blank">http://lattes.cnpq.br/9234772336296638</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
Em Qui 14 abr. 2016, às 16:40, Felipe escreveu:<br>
> Prezados,<br>
><br>
> Estou precisando calcular a média entre dois valore quando NA, ou seja,,<br>
> quando tenho, por exemplo, um NA na posição 10 de um vetor, quero<br>
> substituir<br>
> o NA pela média dos valores das posições 9 e 10, mean(c(x[i-1],x[i+1]).<br>
><br>
> Tentei usar ifelse(), mas não funcionou:<br>
><br>
> ####<br>
> set.seed(9999)<br>
> x <- rnorm(500,10,5)<br>
> y  <- sample(1:500,50,replace=FALSE)<br>
> x[y] <- NA<br>
><br>
> media <- function(x)<br>
> {<br>
> for (i in 2:length(x))<br>
>     {<br>
>         x[i] <- ifelse(<a href="http://is.na" rel="noreferrer" target="_blank">is.na</a>(x[i]),mean(c(x[i-1],x[i+1])),x[i])<br>
><br>
>      }<br>
> }<br>
> sapply(x, media)<br>
><br>
> _______________________________________________<br>
> R-br mailing list<br>
> <a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
> <a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
> Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e fornea cdigo<br>
> mnimo reproduzvel.<br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e fornea cdigo mnimo reproduzvel.</div></div></blockquote></div><br></div>