Skip to content

Counting session days

3 messages · Stefan Petersson, Gabor Grothendieck, Gustaf Rydevik

#
hi,

I have some session data in a dataframe, where each session is recorded with a start and a stop date. Like this:

session_start	session_stop
===================
2009-01-03	2009-01-04
2009-01-01	2009-01-05
2009-01-02	2009-01-09

A session is at least one day long. Now I want a dataframe with 'active sessions' per date. Like this:

date	active_sessions
=============
2009-01-01	1
2009-01-02	2
2009-01-03	3
2009-01-04	3
2009-01-05	2
2009-01-06	1
2009-01-07	1
2009-01-08	1
2009-01-09	1

How do I do that? I've searched the usual sources, but my newbie status and language barrier left me with nothing. So plz, anyone?
#
Try this:
2009-01-01 2009-01-02 2009-01-03 2009-01-04 2009-01-05 2009-01-06 2009-01-07
         1          2          3          3          2          1          1
2009-01-08 2009-01-09
         1          1
On Mon, Feb 9, 2009 at 10:57 AM, <stefan.petersson at inizio.se> wrote:
#
On Mon, Feb 9, 2009 at 4:57 PM, <stefan.petersson at inizio.se> wrote:
Hej Stefan,

The following should do. It's a bit convoluted though, so someone else
might be able to come up with a better solution.
start       stop
1 2009-01-03 2009-01-04
2 2009-01-01 2009-01-05
3 2009-01-02 2009-01-09

activeDaysPerSession<-apply(test,MARGIN=1,FUN=function(x)
seq(from=as.Date(x["start"]),
to=as.Date(x["stop"]),by=1
)
)
ActiveDays<-as.Date(unlist(activeDaysPerSession))
as.data.frame(table(ActiveDays))



Regards,

Gustaf