[R] choose() function returning anomalous results (zero instead of one)
Petr Savicky
savicky at cs.cas.cz
Fri Sep 7 07:55:18 CEST 2012
On Thu, Sep 06, 2012 at 02:45:20PM -0700, Shayne Hodge wrote:
> I accidentally posted the wrong version of my code, omitting the Q1 loop,
> and, sure enough that loop generates non-integers:
>
> qfracseq <- seq(from = 1, to = 0, by = -.1)
> Q <- 10
> Qseq <- Q*qfracseq
>
> > Qseq [1] 10.00000000000000000 9.00000000000000000 8.00000000000000000 7.00000000000000000
> [5] 6.00000000000000000 5.00000000000000000 3.99999999999999911
> 2.99999999999999911
> [9] 1.99999999999999956 0.99999999999999978 0.00000000000000000
>
>
> -----
>
> I'm a tad puzzled by why my code would do this; is this a result of some
> base-10 fractions not representing as cleanly in base-2 as in -10?
Hi.
Yes. For example, 0.2 in base 10 is 0.00110011001100110011001100110011...
in base 2.
See FAQ 7.31 and
http://rwiki.sciviews.org/doku.php?id=misc:r_accuracy
for further examples and some hints.
Hope this helps.
Petr Savicky.
More information about the R-help
mailing list