Boa tarde Srs.

 

Estou iniciando com a linguagem R e me deparei com uma situação da qual não tenho tido êxito em solucionar, preciso iterar sobre um vetor e onde houver valores NA substituí-los por 0, isso porque ao executar a função getValues da biblioteca raster sobre uma linha que contenha em algumas das células o valor NA, e tentar obter o somatório destas, o R me retorna NA, vou tentar ser mais claro:

 

Tenho o seguinte vetor:

 

> vetor

   [1]   575   618   558   549   499   487   450   412   382   342   365   254   311   362   312   335   339   267   300   350   527   555   561   545

  [25]   597   580   548   576   624   664   632   NA   539   567   574   611   660   763   658   599   577   543   514   409   364   374   361   354

  [49]   454   555   620   617   559   559   NA   NA   544   560

 

Se eu fizer sum(vetor) obtenho isso:

 

> sum(vetor)

[1] NA

 

Então tentei iterar sobre o vetor substituindo os valores NA por 0:

 

> for (i in 1:length(vetor)){

+ if (vetor[i]==NA){

+ vetor[i]<-0}}

Error in if (vetor[i] == NA) { : valor ausente onde TRUE/FALSE necessário

 

Pensei que talvez fosse necessário criar um objeto com o valor NA para realizar a comparação, criei o “vazio”, mas obtenho o mesmo erro:

 

> vazio

[1] NA

> for (i in 1:length(vetor)){

+ if (vetor[i]==vazio[1]){

+ vetor[i]<-0}}

Error in if (vetor[i] == vazio[1]) { :

  valor ausente onde TRUE/FALSE necessário

 

Algum sugestão?

 

Grato.



        Franklin Januario da Silva
          Agricola
           
          64 3634-2806
          64 9979-0608

          cerradinho.com.br