Here is one way to do it: > mytime<-c("12:00:00","12:00:05","12:15:05","12:15:06","12:20:00","12:30:01","12:45:01","13:00:00","13:15:02") > # you might want a date on your data > x <- as.POSIXct(mytime, format="%H:%M:%S") > # create quarter hour intervals for the data range > quarter <- seq(trunc(min(x), 'days'), trunc(max(x) + 86400, 'days'), by='15 > min') # add 86400 to add a day for truncation > # cut the data by quarter hours and then take the first value in each group > x.s <- sapply(split(x, cut(x, breaks=quarter), drop=TRUE), '[', 1) > # lost the 'class' for some reason; put it back > class(x.s) <- c("POSIXt", "POSIXct") > # the answer > x.s 2009-08-14 12:00:00 2009-08-14 12:15:00 2009-08-14 12:30:00 2009-08-14 12:45:00 2009-08-14 13:00:00 "2009-08-14 12:00:00 EDT" "2009-08-14 12:15:05 EDT" "2009-08-14 12:30:01 EDT" "2009-08-14 12:45:01 EDT" "2009-08-14 13:00:00 EDT" 2009-08-14 13:15:00 "2009-08-14 13:15:02 EDT" >
On Thu, Aug 13, 2009 at 4:10 PM, Tim Clark<mudiver1...@yahoo.com> wrote: > Dear List, > > I have a data frame of data taken every few seconds. I would like to subset > the data to retain only the data taken on the quarter hour, and as close to > the quarter hour as possible. So far I have figured out how to subset the > data to the quarter hour, but not how to keep only the minimum time for each > quarter hour. > > For example: > mytime<-c("12:00:00","12:00:05","12:15:05","12:15:06","12:20:00","12:30:01","12:45:01","13:00:00","13:15:02") > subtime<-grep(pattern="[[:digit:]]+[[:punct:]]00[[:punct:]][[:digit:]]+|[[:digit:]]+[[:punct:]]15[[:punct:]][[:digit:]]+|[[:digit:]]+[[:punct:]]30[[:punct:]][[:digit:]]+|[[:digit:]]+[[:punct:]]45[[:punct:]][[:digit:]]+",mytime) > mytime[subtime] > > [1] "12:00:00" "12:00:05" "12:15:05" "12:15:06" "12:30:01" "12:45:01" > "13:00:00" "13:15:02" > > This gives me the data taken at quarter hour intervals (removes 12:20:00) but > I am still left with multiple values at the quarter hours. > > I would like to obtain: > > "12:00:00" "12:15:05" "12:30:01" "12:45:01" "13:00:00" "13:15:02" > > Thanks! > > Tim > > > > > Tim Clark > Department of Zoology > University of Hawaii > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.