[R] Odp: Where precision change
Petr PIKAL
petr.pikal at precheza.cz
Mon Oct 18 12:45:07 CEST 2010
Hi
r-help-bounces at r-project.org napsal dne 18.10.2010 11:58:06:
> Hello everyone.
> I need some help to understand when number precision in R is set. For
this
> please consider the following example
>
>
> for (i in c(2:length(final))){
> sizex <- c(sizex,(final[i]-final[i-1],digits=2))) # round is used to
remove
> values that are too small like e-17.
> print(round(final[i]-final[i-1],digits=2))
> }
>
> final[2]-final[1] return something like 4.440892e-16, which means that
these two
> numbers are the same. They are two but as they were derived from a
different
> process they are not the same for precision.
>
> Also the line print(round(final[2]-final[1]),digits=2) returns 0 which
is
> correct
>
> When the above loop stops executing inside sizex variable I find the
value
> 4.440892e-16 which I was not expecting. As you can see from small code
snippet
> before setting the value in the sizex I try to round it. The print gives
the
Not having your original data I presume you expect you are rounding when
adding to sizex but you are not
c(2,((2^0.5)^2,digits=2))
so either you forgot round or you are not telling us the whole story
Regards
Petr
> right value but for some reason it seems that inside the loop the
precision in
> sizex is changed.
>
> Can you please help me clarify that?
>
> Best Regards
> Alex
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
More information about the R-help
mailing list