[R] Reshaping a table

arun
2013-04-08T12:40:32Z

Hi,
Try this:
dat1<-read.table(text="
X????? Y1??? Y2

0.1? 3????? 2

0.2? 2????? 1
",sep="",header=TRUE)


?res<-do.call(rbind,lapply(split(dat1,seq_len(nrow(dat1))),function(x)
{Y=rep(colnames(x)[-1],x[-1]); X=rep(x[,1],length(Y));
data.frame(X,Y,stringsAsFactors=FALSE)}))
?row.names(res)<- 1:nrow(res)
?res
#??? X? Y
#1 0.1 Y1
#2 0.1 Y1
#3 0.1 Y1
#4 0.1 Y2
#5 0.1 Y2
#6 0.2 Y1
#7 0.2 Y1
#8 0.2 Y2
A.K.



----- Original Message -----
From: IOANNA <ii54250 at msn.com>
To: 'r-help-r-project.org' <r-help at r-project.org>
Cc:
Sent: Monday, April 8, 2013 8:09 AM
Subject: [R] Reshaping a table

Hello all,



I have data in the form of a table:



X? ? ? Y1? ? Y2

0.1?  3? ? ?  2

0.2?  2? ? ?  1



And I would like to transform in the form:



X? ?  Y

0.1?  Y1

0.1?  Y1

0.1?  Y1

0.1?  Y2

0.1?  Y2

0.2? Y1

0.2? Y1

0.2? Y2



Any ideas how?



Thanks in advance,

IOanna








??? [[alternative HTML version deleted]]

______________________________________________
R-help at 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.