[R-br] arredondamento de números no R
Vitor Aguiar
vitor.aguiar em me.com
Sexta Abril 13 18:46:16 BRT 2012
esses valores são altos. É um banco de dados com muitas variáveis.
Veja:
[1] "D3S1358"
Chi square
481252.8
degrees of freedom
276
p-value
1
[1] "D5S818"
Chi square
7583.649
degrees of freedom
105
p-value
1
[1] "D7S820"
Chi square
72249.05
degrees of freedom
105
p-value
1
[1] "D8S1179"
Chi square
220352.7
degrees of freedom
190
p-value
1
[1] "D13S317"
Chi square
622.7457
degrees of freedom
78
p-value
1
[1] "D16S539"
Chi square
283297.9
degrees of freedom
153
p-value
1
[1] "D18S51"
Chi square
11598.11
degrees of freedom
820
p-value
1
[1] "D21S11"
Chi square
149753.1
degrees of freedom
561
p-value
1
[1] "CSF1PO"
Chi square
2452.957
degrees of freedom
91
p-value
1
[1] "FGA"
Chi square
416837
degrees of freedom
1953
p-value
1
[1] "TH01"
Chi square
251881.9
degrees of freedom
153
p-value
1
[1] "TPOX"
Chi square
412930.9
degrees of freedom
136
p-value
1
[1] "vWA"
Chi square
12138.88
degrees of freedom
171
p-value
1
[1] "PentaD"
Chi square
28528.19
degrees of freedom
351
p-value
1
[1] "PentaE"
Chi square
129719.1
degrees of freedom
465
p-value
1
On Apr 13, 2012, at 2:38 PM, Benilton Carvalho wrote:
> exemplo reproduzivel.........................................
>
> bastaria vc dizer quais sao os valores de sum(X2) e os graus de liberdade...
>
> b
>
> 2012/4/13 Vitor Aguiar <vitor.aguiar em me.com>:
>> Sandro,
>>
>> usando format com nsmall = 20, eu tenho um resultado de 1.000000000000000000.
>> Mas eu tenho certeza que esse número é na realidade alguma coisa menor que 1.
>> Eu não sei se isso ocorre pelo modo como o R mostra o número (com 22 casas) ou se é um problema em como os valores estão guardados no R. Eu estou usando os valores como "doubles" mas ainda assim parece não ser suficiente.
>>
>> Benílton,
>>
>> se eu colocar o log=TRUE o resultado do cálculo passa a ser 0 (zero), ao invés de 1. Assim, também não consigo nenhuma medida do que quero medir.
>>
>> Tura,
>> usando
>>> pvalue = 2 * pchisq(sum(X2, na.rm = TRUE), dfreedom(X2),lower.tail=F)
>>
>> o resultado ainda é 0 (zero). E se eu usar o format(x, nsmall = 20) nisso eu ainda tenho 0.00000000000000000.
>>
>>
>> A propósito, há alguma forma de guardar números no R com mais bits do que "as doubles"?
>>
>> Obrigado a todos,
>> Vitor
>>
>>
>>
>>
>> On Apr 12, 2012, at 2:28 AM, Bernardo Rangel Tura wrote:
>>
>>> On 04/11/2012 07:26 PM, Vitor Aguiar wrote:
>>>> Caros,
>>>>
>>>> quero fazer o seguinte cálculo:
>>>>
>>>> pvalue = 1 - pchisq(sum(X2, na.rm = TRUE), dfreedom(X2)) #dfreedom( ) é
>>>> uma função escrita por mim
>>>>
>>>> mas usando os meus dados isso dá sempre 0 (zero), porque a parte do
>>>> pchisq( ) é um valor muito próximo de 1, então o R arredonda para 1,
>>>> ficando 1 - 1 = 0.
>>>> Mesmo que o verdadeiro valor desse cálculo seja algo muitíssimo pequeno,
>>>> como zero seguido de vários zeros e eventualmente algum outro número, eu
>>>> preciso saber qual é.
>>>>
>>>> Como fazer isso?
>>>>
>>>> Desde já agradeço a quem puder ajudar.
>>>>
>>>> Vitor Aguiar
>>>
>>>
>>> Vitor,
>>>
>>> Primeiro você ha de convir que 1-número muito pequeno = 1
>>> Mas acho que no seu caso é mais fácil de resolver
>>> Em vez de
>>>
>>> pvalue = 1 - pchisq(sum(X2, na.rm = TRUE), dfreedom(X2))
>>>
>>> use
>>>
>>> pvalue = 2 * pchisq(sum(X2, na.rm = TRUE), dfreedom(X2),lower.tail=F)
>>>
>>>
>>> No primeiro você calcula 1 - P[X <= x] enquanto no segundo 2 * P[X > x].
>>> Desta forma o número muito pequeno deve aparecer, se persistir o problema (o que eu duvido) use a opção "log.p=T", se ainda assim não resolver (o que acredito ser inverossímil) manda um exemplo para a lista
>>>
>>> []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.
>>
>>
>> _______________________________________________
>> 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.
> _______________________________________________
> 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/20120413/c0e65046/attachment.html>
Mais detalhes sobre a lista de discussão R-br