[R-br] Substituir NA's
Paulo Justiniano
paulojus em leg.ufpr.br
Quarta Agosto 10 17:15:42 BRT 2011
veja a seguir, troque -1 por 0.1
> ap <- cbind(c(1, NA, 2), 1:3, c(NA, 1, 2))
> ap
[,1] [,2] [,3]
[1,] 1 1 NA
[2,] NA 2 1
[3,] 2 3 2
> ifelse(is.na(ap), -1, ap)
[,1] [,2] [,3]
[1,] 1 1 -1
[2,] -1 2 1
[3,] 2 3 2
On Wed, 10 Aug 2011, Daniel Dantas wrote:
> Boa tarde pessoal,
>
> A minha dúvida é: Como substituir os NA's de uma matriz pelo valor 0.1 e os que não forem NA manter os valores de x?
>
> Lógica: Se x = NA, então 0.1, caso contrário x.
>
> Tentei da forma abaixo mas não obtive exito:
>
> > x
> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
> [1,] 0.359375 2.593750 2.453125 0.531250 NA NA NA
> [2,] 5.095238 6.619048 3.857143 2.119048 11 0 11
> [3,] NA 5.333333 1.000000 2.000000 1 0 1
> [4,] 0.800000 7.850000 3.850000 2.250000 4 1 2
> [5,] 5.833333 9.000000 4.833333 3.666667 2 0 0
> [6,] 2.285714 8.857143 3.428571 2.714286 NA NA NA
>
> y<- ifelse(x==NA,0.1,x)
> > y
> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
> [1,] NA NA NA NA NA NA NA
> [2,] NA NA NA NA NA NA NA
> [3,] NA NA NA NA NA NA NA
> [4,] NA NA NA NA NA NA NA
> [5,] NA NA NA NA NA NA NA
> [6,] NA NA NA NA NA NA NA
>
> Tentei também de outra forma mas também sem sucess:
> y<- ifelse(x=="NA",0.1,x)
>
> Obrigado,
> Daniel
>
>
>
>
Mais detalhes sobre a lista de discussão R-br