
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