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

Cézar Freitas cezarcamelo em gmail.com
Quinta Abril 14 20:11:17 BRT 2011


Acho que não fui claro o suficiente: os desvios deveriam, de fato, ser
iguais (os números estão à mesma distância de suas respectivas médias),
porém o R não retrata assim (independentemente da quantidade de dígitos) e
eu fiquei surpreso.

Na minha época, sei que havia coisinhas que evitávamos, como elevar números
muito grandes ao quadrado para somá-los e depois dividi-los, quando era
possível contornar o problema aplicando a divisão previamente, mas nas
máquinas de hoje eu achei que não era necessário preocupar-se com tais
acontecimentos.

Alguma outra pista?

C.

Em 14 de abril de 2011 17:13, Gustavo Henrique de Carvalho <
gustavo.bio em gmail.com> escreveu:

>
> 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
> >
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110414/e4d03311/attachment.html>


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