[R-es] Fwd: ¿Qué hace round exactamente?

Hernan Olivera lholivera en gmail.com
Jue Dic 10 19:57:37 CET 2009


---------- Mensaje reenviado ----------
De: Hernan Olivera <lholivera en gmail.com>
Fecha: 10 de diciembre de 2009 15:56
Asunto: Re: [R-es] ¿Qué hace round exactamente?
Para: "Carlos J. Gil Bellosta" <gilbellosta en gmail.com>


El día 10 de diciembre de 2009 15:38, Carlos J. Gil Bellosta
<gilbellosta en gmail.com> escribió:
> No es R ni round. Pasa siempre que utilizas máquinas de precisión
> finita. Dice la Wikipedia:
>
> De esta forma, con un número dado de dígitos representativos se
> obtiene mayor precisión que con la coma fija, debido a que el valor de
> estos dígitos es siempre significativo sea el que sea el orden de
> magnitud del número a representar. Debido a esta adaptación, permite
> representar un rango mucho mayor de números (determinado por los
> valores límite que puede tomar el exponente).
>
> La "precisión" a la que se almacena x tiene que ver con el tamaño de
> x. Si a x le restas x-epsilon y epsilon es como de costumbre, el
> resultado, epsilon, tendrá un error grande.
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
>
> El día 10 de diciembre de 2009 18:34, Usuario R
> <r.user.spain en gmail.com> escribió:
>> Hola,
>>
>> Alguien entiende porqué se redondea esto asi:
>>
>>  round( 20.435, 2 )
>> [1] 20.43
>>
>> Y sin embargo:
>>
>>  round( 40.435, 2 )
>> [1] 40.44
>>
>> Gracias!
>>
>> Patricia
>>
>>        [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


De todos modos no parece haber justificación en la cantidad de bits
significativos de la representacion entre 40.435 y 20.435. En verdad
es un resultado extraño, no esperable, y no debería suceder.
Justamente se supone que la definición de round deberia ayudar a
definir bien estos resultados. Habría que indagar en la representación
interna de los datos en R, la definición de round en R, etc. para dar
una respuesta correcta.

saludos

--
Hernan Olivera



-- 
Hernan Olivera



Más información sobre la lista de distribución R-help-es