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
> <[email protected]
> > 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
>
> ______________________________________________
> [email protected] 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]]
______________________________________________
[email protected] 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.