
29 Jul
2015
29 Jul
'15
17:31
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. [http://www.cerradinho.com/CBio.png] Franklin Januario da Silva Agricola 64 3634-2806 64 9979-0608 cerradinho.com.br<http://www.cerradinho.com.br>