[R-br] precisão numérica no R - uma falha?

Gustavo Henrique de Carvalho gustavo.bio em gmail.com
Quinta Abril 14 17:13:00 BRT 2011


http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f

> print(y$dp, digits = 13)
[1] 0.005773502691896 0.005773502691897

2011/4/14 Benilton Carvalho <beniltoncarvalho em gmail.com>:
> Cezar,
>
> o que vc esta' procurando e' o seguinte:
>
> all.equal(y$dp - refer, rep(0, 2))
>
> b
>
> 2011/4/14 Cézar Freitas <cezarcamelo em gmail.com>:
>> Olá.
>>
>> Bem, escrevo apenas para ilustrar algo que me surpreendeu. Estava plotando
>> gráficos e os colorindo segundo seu desvio padrão estava ou não acima de um
>> ponto de corte. Reproduzo abaixo a parte do código que interessa:
>>
>> y=as.data.frame(matrix(c(4.96,5.02,4.97,5.03,4.96,5.03), ncol=3))
>> y$dp=apply(y,1,sd)
>>
>>> y
>>     V1   V2   V3          dp
>> 1 4.96 4.97 4.96 0.005773503
>> 2 5.02 5.03 5.03 0.005773503
>>
>> refer=y$dp[1]
>>
>> y$dp<=refer
>>
>> [1]  TRUE FALSE
>>
>> Sei que o R é extremamente preciso e até podemos alterar sua mantissa nos
>> cálculos, mas isso não é rotineiro para cálculos tão simples. O pessoal do
>> cálculo numérico saberia dizer o que evitar para não cair nessas armadilhas
>> no futuro?
>>
>> Abraços,
>> Cézar Freitas
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>
>>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>


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