Hi Dennis,

Thanks for the answer, it works perfectly for two time intervals, but  
if I add a third interval like this:

ID			begin_t1	end_t1		begin_t2	end_t2		begin_t3	end_t3
Thomas		11/03/04	13/05/06	04/02/07	16/05/08	09/06/09	27/01/10
...			...			...			...			...
Jens		24/01/02	23/05/03	07/06/03	14/11/05	16/02/06	24/08/09

and write out the reshape function like this:

d2 <- reshape(d, varying = list(c("begin_t1", "begin_t2", "begin_t3"),  
c("end_t1", "end_t2", "end_t3")), v.names = c('Begin_Time',  
'End_Time'), idvar = 'ID', direction = 'long')

then I get the following error:

Error in `[.data.frame`(data, , varying[[j]][i]) :
   undefined columns selected

What am i doing wrong?

Best, Thomas

On 20 Jul 2010, at 04:44, Dennis Murphy wrote:

> Hi:
>
> Here's one solution using function reshape() in the stats package  
> (adapted from an R-help solution by Thomas Lumley on Nov. 26, 2002):
>
>
> d <- read.table(textConnection("
> + ID                      begin_t1        end_t1           
> begin_t2        end_t2
> + Thomas          11/03/04        13/05/06        04/02/07         
> 16/05/08
> + Jens            24/01/02        23/05/03        07/06/03         
> 14/11/05"),
> + header = TRUE)
> > d
>       ID begin_t1   end_t1 begin_t2   end_t2
> 1 Thomas 11/03/04 13/05/06 04/02/07 16/05/08
> 2   Jens 24/01/02 23/05/03 07/06/03 14/11/05
>
> d2 <- reshape(d, varying = list(c('begin_t1', 'begin_t2'),  
> c('end_t1', 'end_t2')),
>           v.names = c('Begin_Time', 'End_Time'), idvar = 'ID',  
> direction = 'long')
>
> # Result could use some cleanup:
> rownames(d2) <- NULL                # clear the created row names
> d2 <- d2[order(d2$ID), -2]          # sort by name, removing the  
> time order (variable 2)
> d2
>       ID Begin_Time End_Time
> 2   Jens   24/01/02 23/05/03
> 4   Jens   07/06/03 14/11/05
> 1 Thomas   11/03/04 13/05/06
> 3 Thomas   04/02/07 16/05/08
>
> HTH,
> Dennis
>
> On Mon, Jul 19, 2010 at 3:48 PM, Thomas Jensen <thomas.jensen@eup.gess.ethz.ch 
> > wrote:
> Dear All,
>
> I have some data in the following shape:
>
> ID                      begin_t1        end_t1           
> begin_t2        end_t2
> Thomas          11/03/04        13/05/06        04/02/07         
> 16/05/08
> ...                     ...                     ...                     ...                     ...
> Jens            24/01/02        23/05/03        07/06/03         
> 14/11/05
>
> I would like to reshape this data to have the following form:
>
> ID                      Begin_Time              End_Time
> Thomas          11/03/04                13/05/06
> Thomas          04/02/07                16/05/08
> ...                     ...                             ...
> Jens            24/01/02                23/05/03
> Jens            07/06/03                14/11/05
>
> I have been doing some google searches and looked at the reshape  
> library, but so far I have not been able to shape the data like I  
> want. If you guys could help, I would greatly appreciate it!
>
> Best, Thomas
>
> ______________________________________________
> 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]]

