[R-es] extraño error con seq

Francisco Rodriguez Sanchez
Mon, 01 Jun 2015 15:22:23 -0000

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)