
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@gmail.com> escreveu:
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-n...
print(y$dp, digits = 13) [1] 0.005773502691896 0.005773502691897
2011/4/14 Benilton Carvalho <beniltoncarvalho@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@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@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br