Hello,
If I understand it well, try the following.
tmp <- lapply(tapply(as.POSIXct(paste(df[,1], df[,2])), df[,1], diff),
`*`, 60)
lapply(tmp, as.integer)
Hope this helps,
Rui Barradas
Em 09-05-2013 11:45, Kai Mx escreveu:> Hi everybody,
> I have an analysis problem that seems a little overwhelming to me, but is
> probably not too hard to solve for you guys. I have a (fairly large)
> dataframe that indicates usage of a resource on different days:
>
> df <-data.frame (
> dstartday =c(rep('2012-02-10', 4), rep('2012-02-11',
5)),
> dstart =c('08:05:00','09:35:00',
'12:00:00','13:00:00', '07:50:00',
> '9:45:00', '13:00:00', '14:05:00',
'15:50:00'),
> dendday =c (rep('2012-02-10', 3),
'2012-02-11',rep('2012-02-12', 5)),
> dend = c ('08:35:00','09:40:00', '12:20:00',
'01:00:00', '08:35:00',
> '11:00:00', '13:15:00', '15:00:00',
'17:00:00')
> )
>
> Each row reflects an event that starts at the date and time that is
> indicated by dstartday/dstart and ends at dendday/dend.
> Now I would like to calculate the time intervals in minutes between the
> different events that start on a specific day, eg for '2012-02-10'
it
> should be 60, 140, 40. The interval between the last event of the day and
> the first event of the next is not relevant and should be ignored. Events
> may run overnight, but there should not be any overlaps between start and
> end times.
> I have imported all the data as strings.
> Any thoughts and suggested readings/packages are really appreciated,
thanks!
>
> Best,
>
> Kai
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>