[R-es] extraño error con seq

Jorge I Velez
Mon, 01 Jun 2015 15:56:17 -0000

Francisco,
Tiene que ver con aritmetica de punto flotante y como los numeros se
representan en R. En la FAQ 7.31 esta explicado.
Espero sea de utilidad.
Jorge.-

On Tuesday, June 2, 2015, Francisco Rodriguez Sanchez <
f.rodriguez.sanc en gmail.com> wrote:

> Estimados colisteros,
>
> Acabo de encontrar un extraño error usando la función seq:
>
> >seq(from = 0.6 + 0.1, to = 0.7, by = 0.1)
> [1] 0.7
> # todo bien
>
> >seq(from = 2.2 + 0.1, to = 2.3, by = 0.1)
> Error in seq.default(from = 2.2 + 0.1, to = 2.3, by = 0.1) :
>    wrong sign in 'by' argument
>
>
> La ayuda de seq establece que "Specifying to - from and by of opposite
> signs is an error". Y en efecto:
>
> >2.3 - (2.2 + 0.1)
> [1] -4.440892e-16
>
> arroja un resultado muy pequeño pero negativo, mientras que 'by' es
> positivo (0.1).
>
> He probado con otros muchos números y esto solo me ocurre con el caso de
> 2.2 y 2.3. Por ejemplo:
>
> >0.7 - (0.6 + 0.1)
> [1] 0
>
>
> A qué se debe esto? O más importante, cómo puedo evitar este error?
>
> Muchas gracias de antemano
>
> Paco
>
> --
> Dr Francisco Rodriguez-Sanchez
> Integrative Ecology Group
> Estacion Biologica de Doñana - CSIC
> Avda. Americo Vespucio s/n
> 41092 Sevilla (Spain)
> http://bit.ly/frod_san
>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org <javascript:;>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


--
Sent from my phone. Please excuse my brevity and misspelling.