Re: [R] precision in seq

From: jim holtman <jholtman_at_gmail.com>
Date: Tue, 5 Feb 2008 15:38:37 -0500

If you want 0,0.05,0.1,...0.95,1.00 then think about encoding as characters:

> sprintf("%.2f", seq(0, 1, 0.05))

 [1] "0.00" "0.05" "0.10" "0.15" "0.20" "0.25" "0.30" "0.35" "0.40"
"0.45" "0.50" "0.55"
[13] "0.60" "0.65" "0.70" "0.75" "0.80" "0.85" "0.90" "0.95" "1.00"

>

then you won't have the problem of dealing with floating point numbers, and still have the ability to later convert the character strings back to numeric for processing. Character strings will give you the "exact" matches that you were expecting (but won't get) with floating point.

On 2/5/08, Eric Elguero <Eric.Elguero_at_mpl.ird.fr> wrote:
> thank you to all who answered.
>
>
> > 0+0.05+
> + 0.05+0.05+0.05+0.05+0.05+0.05+
> + 0.05+0.05+0.05+0.05+0.05+0.05+
> + 0.05+0.05+0.05+0.05+0.05+0.05 - 0.95
> [1] 3.330669e-16
>
> > seq(0,1,0.05)[20] - 0.95
> [1] 1.110223e-16
>
> > 0+19*0.05 - 0.95
> [1] 1.110223e-16
>
> so this is the way seq calculates. I would have guessed
> that addition was more accurate than multiplication,
> but that is not the case.
>
> this one however bothers me:
> > 19/20-0.95
> [1] 0
>
>
> I noticed this problem when I tried to extract rows of a matrix
> according to whether values of some vector where in the set
> (0,0.05,...,0.95,1), with something like x%in%seq(0,1,0.05)
> Now I understand that I should not use this construction
> unless x is of type integer. Would you agree?
>
> Eric Elguero
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 05 Feb 2008 - 20:40:45 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 05 Feb 2008 - 21:30:12 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive