[R] rearrange data

Liaw, Andy andy_liaw at merck.com
Sat Jun 4 00:58:36 CEST 2005


reshape() should do it:

> d
  V1 V2 V3 V4 V5
1 A1 B1 C1 D1 E1
2 A2 B2 C2 D2 E2
3 A3 B3 C3 D3 E3
> d2 <- reshape(d, varying=list(names(d)[1:4]), direction="long")[c(3,1)]
> d2[order(d2$V5),]
    V1 V5
1.1 A1 E1
1.2 B1 E1
1.3 C1 E1
1.4 D1 E1
2.1 A2 E2
2.2 B2 E2
2.3 C2 E2
2.4 D2 E2
3.1 A3 E3
3.2 B3 E3
3.3 C3 E3
3.4 D3 E3

Andy 

> From: jose silva
> 
> Dear all: 
> 
> I have this: 
> 
> A1 B1 C1 D1 E1 
> A2 B2 C2 D2 E2 
> A3 B3 C3 D3 E3 
> 
> And I want this 
> 
> A1 E1 
> B1 E1 
> C1 E1 
> D1 E1 
> A2 E2 
> B2 E2 
> C2 E2 
> D2 E2 
> A3 E3 
> B3 E3 
> C3 E3 
> D3 E3 
> 
> Example: 
> 
> m<- matrix(1:15,nrow=3,byrow=T) 
> m 
> v<- unlist(list(t(m[,1:4]))) 
> u<- rep(c(5,10,15),c(4,4,4)) 
> data.frame(v,u) 
> 
> This is the result I want but I would like to learn a simpler 
> way to do it. 
> Any clue? On the other hand, how can I reorganize the data in 
> the way it was in the begining? I hope someone can help me on this...
> Thanks in advance 
> 
> j. silva 
> [[alternative HTML version deleted]] 
> 
> ______________________________________________ 
> R-help at stat.math.ethz.ch mailing list 
> https://stat.ethz.ch/mailman/listinfo/r-help 
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
> 
>




More information about the R-help mailing list