[R] Wrong computation of time differenze in POSIXct - additional digits

arun smartpink111 at yahoo.com
Fri Jun 15 20:14:09 CEST 2012


Hi,

I checked the same with strptime.  It is the rounding issue.

Try this:

dat1<-data.frame(datetime=c("2012-06-15 16:32:39.0025 CEST","2012-06-15 16:32:39.0086 CEST"))
 op<-options(digits.secs=4)
 dat1$datetime<- strptime(dat1$datetime, "%Y-%m-%d %H:%M:%OS")


formatC(as.numeric(difftime(dat1[2,1],dat1[1,1],units="secs")),format="f",digits=4)
[1] "0.0061"
#or,
 formatC(as.numeric(diff(dat1$datetime)),format="f",digits=4)
[1] "0.0061"

A.K.




----- Original Message -----
From: Julia <Julia.Schmitt at gmx.de>
To: r-help at stat.math.ethz.ch
Cc: 
Sent: Friday, June 15, 2012 12:49 PM
Subject: [R] Wrong computation of time differenze in POSIXct - additional digits

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. 
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?

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.




More information about the R-help mailing list