[R] Wrong computation of time differenze in POSIXct - additional digits
David Winsemius
dwinsemius at comcast.net
Fri Jun 15 19:18:06 CEST 2012
On Jun 15, 2012, at 12:49 PM, Julia wrote:
> Hello,
>
> I wanted to compute the time differenze between to times:
>
> first =as.POSIXct( "2012-06-15 16:32:39.0025 CEST")
> second = as.POSIXct("2012-06-15 16:32:39.0086 CEST")
> second - first
>
> The result is
> Time difference of 0.006099939 secs
>
> instead of just 0.0061 secs
> So R adds aditional numbers after the result.
It's a floating point representation issue. You don't really want to
change that value, but are asking to see something different:
> round ( second - first, 4)
Time difference of 0.0061 secs
> I know I could round it in this case.
> But I am working with a large data set and need to always get the
> correct result.
>
> difftime() does not work correct either.
>
> Has anybody a suggestion how to get the correct result?
Use a computer system that runs on exact arithmetic?
Read FAQ 7.31
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f
(And expect to read about 4-6 similar messages in the next hour.)
>
> Thank you
> Julia
>
> ______________________________________________
> 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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list