This might get you started:
# make data in original format
a=matrix(1:48,12,4)
colnames(a)<-c('var1','var2','var3','var4')
rownames(a)<-c('a1','a2','a3','b1','b2','b3','c1','c2','c3','d1','d2','d3')
a#rehape the data a=data.frame(a) reshape(a[1:4],idvar="row", timevar="column",varying=list(names(a[1:4])),direction="long") Rob ----- Original Message ----- From: "Frank Duan" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, November 28, 2004 5:13 PM Subject: [R] Could anyone help me reshape this "wide" data into"longitudinal" one? Thanks > Dear R people, > > I have a matrix like this: > > var1 var2 var3 var4 > a1 7.1 7.2 8.1 8.2 > a2 10.5 10.6 ... ... > a3 > b1 > b2 > b3 > b4 > c1 > c2 > ... > > The matrix row names are "a1", "a2", ...... and the matrix column > names are "var1", "var2", "var3" and "var4". Now I want to reshape > this data into a longitudinal-formatted one like this: > > > subject seq time resp > a 1 1 7.1 > a 1 2 7.2 > a 1 3 8.1 > a 1 4 8.2 > a 2 1 10.5 > a 2 2 10.6 > a 2 3 ... > a 2 4 ... > a 3 1 ... > a 3 2 > a 3 3 > a 3 4 > b 1 1 > b 1 2 > b 1 3 > b 1 4 > b 2 1 > b 2 2 > b 2 3 > b 2 4 > ... ... ... > ... ... ... > ... ... ... > > > I always met errors when using "reshape" function. Could anyone give > me an idea how to do it? > > Many thanks to you, > > Frank > > ______________________________________________ > [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 > ______________________________________________ [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
