[R] seq unexpected behavior
Marc Schwartz
MSchwartz at mn.rr.com
Thu Jul 27 03:47:44 CEST 2006
On Wed, 2006-07-26 at 18:35 -0700, Vries, Han de wrote:
> seq(0.1, 0.9 - 0.8, by = 0.1) gives the following error message:
>
> Error in seq.default(0.1, 0.9 - 0.8, by = 0.1) :
> wrong sign in 'by' argument
>
> but seq(0.1, 0.8 - 0.7, by = 0.1) gives
> [1] 0.1
> (no error message)
>
> Why do I get an error message in the first case?
> Han
See R FAQ 7.31 Why doesn't R think these numbers are equal?
> print(0.9 - 0.8, 20)
[1] 0.09999999999999997780
> print(0.8 - 0.7, 20)
[1] 0.10000000000000008882
In the first case, the result of the subtraction is slightly less than
0.1, resulting in a negative interval. In the second case, it is
slightly greater than 0.1, which is OK.
HTH,
Marc Schwartz
More information about the R-help
mailing list