[R-br] Dúvida com lógica booleana

Cesar Rabak cesar.rabak em gmail.com
Sexta Agosto 7 19:18:46 BRT 2015


Franklin,

Seu post original enseja vários comentários:


   1. O R usa uma linguagem orientada a vetores e matrizes, e, em geral,
   quando você se vê em uma situação em que está iterando valores um a um,
   provavelmente está fazendo algo de maneira ineficiente ou mesmo incorreta!
   2. Se para iterar o que você quer está ficando "cabeludo" então é
   provável que você esteja fazendo de maneira inadequada, além das obs. acima!
   3. No seu caso se o objetivo era apenas fazer a soma, veja (use ?sum no
   console do R para ver a doc. dessa função) que apenas fazendo sum(vetor,
   na.rm=TRUE) daria o resultado desejado por você.

> sum(vetor, na.rm=TRUE)
[1] 27411

Agora, considerando que seu caso o foco fosse realmente a questão com
lógica booleana no R e seu uso no sum() foi mais um exemplo, então:

Pela obs. nº 2 acima, veja:

> ifelse(is.na(vetor), 0, vetor)
 [1] 575 618 558 549 499 487 450 412 382 342 365 254 311 362 312 335 339
267 300
[20] 350 527 555 561 545 597 580 548 576 624 664 632   0 539 567 574 611
660 763
[39] 658 599 577 543 514 409 364 374 361 354 454 555 620 617 559 559   0
0 544
[58] 560

HTH

--
Cesar Rabak


2015-08-01 6:54 GMT-03:00 Bernardo Rangel Tura <tura em centroin.com.br>:

> On 07/29/2015 02:31 PM, Franklin Januario da Silva wrote:
>
>> 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:
>>
>
>
>
> Franklin
>
> Se existir um NA os resultados são NA isto é uma convenção. Vários comando
> tem a opção na.rm que você coloca o valor TRUE ou T. Quando insto não for
> possível utilize na.exclude()
>
> []s
> Tura
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150807/20cbd3c2/attachment.html>


Mais detalhes sobre a lista de discussão R-br