On Wed, Mar 17, 2010 at 2:57 PM, Hosack, Michael <mhos...@state.pa.us> wrote:
> Hi,
>
> Does anyone know how to add minutes (up to 100 min) to a 24 hour time, to 
> create a new 24 hour time? I can't seem to find any documentation or examples 
> explaining how to do this. The variables of interest are 'ARRIVE','WAIT', and 
> 'DEPART' in the attached partial dataframe. I want 'DEPART' to be the "sum" 
> of 'ARRIVE' and 'WAIT' in 24 hour format. Also, can anyone direct me to some 
> relevant documentation?
>
> Thank you,
>
> Mike
>

If you convert all data to a date-and-time ?POSIXlt object, you can
just convert the minutes to seconds and add together with "+".
Another way would be the something like this:

addTime<-function(timeTxt,mins){
      start.time<-strsplit(timeTxt,":")
      start.time<-do.call("rbind",start.time)
      storage.mode(start.time)<-"numeric"
      hours<-mins%/%60
      mins.left<-mins%%60
      end.mins<-(start.time[,2]+mins.left)%%60
      end.hours<-(start.time[,1]+hours+(start.time[,2]+mins.left)%/%60)%%24
      end.time<-paste(end.hours,end.mins,sep=":")
     return(end.time)
}
addTime(c("15:23","7:00"),c(70,100))

or this:

addTime2<-function(timeTxt,mins){
orig.date<-as.POSIXct(paste("2001-01-01",timeTxt))
new.Date<-orig.date+mins*60
new.Date<-strsplit(as.character(new.Date)," ")
new.Time<-(sapply(new.Date,"[",2))
return(new.Time)
}
addTime2(c("15:23","7:00"),c(70,100))


Regards,
Gustaf
-- 
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik

______________________________________________
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