One way, assuming your timestamps are POSIXct format:

truncInterval <- function ( x, dx=as.difftime(1,units="days") ) {
xn <- as.numeric( x )
result <- xn - xn %% as.numeric( dx, units="secs" )
class( result ) <- 'POSIXct'
result
}

truncInterval( as.POSIXct(c("2011-04-28 09:20:00", "2011-04-28 09:40:00")), 
as.difftime(30,units="mins") )

This may not work well if the timestamp granularity is more fine than one 
second.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

Schatzi <adele_thomp...@cargill.com> wrote:

I have times and would like to round down to the earliest 30 minute increment. 
For instance, a time of 2011-04-28 09:02:00 (the as.numeric value = 1303999320) 
I would like it to be rounded down to: 2011-04-28 09:00:00 (the as.numeric 
value = 1303999200) Any ideas of how to do this? ----- In theory, practice and 
theory are the same. In practice, they are not - Albert Einstein -- View this 
message in context: 
http://r.789695.n4.nabble.com/Round-down-to-earliest-hour-or-half-hour-tp3509374p3509374.html
 Sent from the R help mailing list archive at 
Nabble.com._____________________________________________
R-help@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. 


        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to