Try converting to POSIXct: > str(dts) 'POSIXlt', format: chr [1:10] "2003-04-15" "2003-07-15" "2003-10-15" "2004-04-15" "2004-07-15" "2004-10-15" "2005-04-15" ... > dts [1] "2003-04-15" "2003-07-15" "2003-10-15" "2004-04-15" "2004-07-15" "2004-10-15" "2005-04-15" "2005-07-15" [9] "2005-10-15" "2006-04-15" > dts <- as.POSIXct(dts) > dts [1] "2003-04-15 EDT" "2003-07-15 EDT" "2003-10-15 EDT" "2004-04-15 EDT" "2004-07-15 EDT" "2004-10-15 EDT" [7] "2005-04-15 EDT" "2005-07-15 EDT" "2005-10-15 EDT" "2006-04-15 EDT" > diff(dts) Time differences of 91, 92, 183, 91, 92, 182, 91, 92, 182 days >
On 7/23/06, Patrick Giraudoux <[EMAIL PROTECTED]> wrote: > > Dear Listers, > > I have encountered a strange problem using diff() and POSIXt: > > > dts<-c("15/4/2003","15/7/2003","15/10/2003","15/04/2004","15/07/2004","15/10/2004","15/4/2005","15/07/2005","15/10/2005","15/4/2006") > dts <- strptime(dts, "%d/%m/%Y") > class(dts) > > [1] "POSIXt" "POSIXlt" > > diff(dts) > > Time differences of 7862400, 7948800, 15811200, 7862400, 7948800, > 15724800, 7862400, 7948800, 0 secs > > In this case the result is not the one expected: expressed in seconds > and not in days, and the difference between the two last dates is not 0. > > Now, if one use a vector of 9 dates only (whatever the date removed), > things come well: > > diff(dts[-1]) > > Time differences of 92, 183, 91, 92, 182, 91, 92, 182 days > > Also if one contrains dts to POSIXct > > > dts<-c("15/4/2003","15/7/2003","15/10/2003","15/04/2004","15/07/2004","15/10/2004","15/4/2005","15/07/2005","15/10/2005","15/4/2006") > dts <- as.POSIXct(strptime(dts, "%d/%m/%Y")) > diff(dts) > > Time differences of 91, 92, 183, 91, 92, 182, 91, 92, 182 days > > Any rational in that? > > Patrick > > ______________________________________________ > R-help@stat.math.ethz.ch 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? [[alternative HTML version deleted]] ______________________________________________ R-help@stat.math.ethz.ch 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.