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.jen...@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]] ______________________________________________ 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.