On 10/07/2012 01:03 AM, agoijman wrote:
I've been trying to reshape this database but haven't succeed at it. I tried
using loops but can't get it right. I just want to reshape my database from
this matrix, to the one below, with only one column of data.
Year Route Point Sp1 Sp2 Sp3
2004 123 123-1 0 1 0
2004 123 123-2 0 1 1
2004 123 123-10 1 1 0
What I want:
Year Route Point
2004 123 123-1 Sp1 0
2004 123 123-2 Sp1 0
2004 123 123-10 Sp1 1
2004 123 123-1 Sp2 1
2004 123 123-2 Sp2 1
2004 123 123-10 Sp2 1
2004 123 123-1 Sp3 0
2004 123 123-2 Sp3 1
2004 123 123-10 Sp3 0
Hi agoijman,
You can do this using the rep_n_stack function.
adat<-data.frame(Year=rep(2004,3),Route=rep(123,3),
Point=c("123-1","123-2","123-10"),Sp1=c(0,0,1),
Sp2=c(1,1,1),Sp3=c(0,1,0))
library(prettyR)
rep_n_stack(adat,c("Sp1","Sp2","Sp3"),
stack.names=c("Sp-names","Sp-values"))
Jim
______________________________________________
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.