On May 22, 2011, at 5:25 PM, Gang Chen wrote:
I know how to convert a simple dataframe from wide to long format
with one
varying factor. However, for a dataset with two factors like the
following,
Subj T1_Cond1 T1_Cond2 T2_Cond1 T2_Cond2
1 0.125869 4.108232 1.099392 5.556614
2 1.427940 2.170026 0.120748 1.176353
How to elegantly convert to a long form as
Subj Time Cond Value
1 1 1 0.125869
1 1 2 4.108232
1 2 1 1.099392
Assume this is a dataframe named 'tst'
require(reshape2)
ltest <- melt(tst, id.vars =1)
dcast(ltest, ubj+substr(variable, 1,2) + substr(variable, 4,8) ~. )
ubj substr(variable, 1, 2) substr(variable, 4, 8) NA
1 1 T1 Cond1 0.125869
2 1 T1 Cond2 4.108232
3 1 T2 Cond1 1.099392
4 1 T2 Cond2 5.556614
5 2 T1 Cond1 1.427940
6 2 T1 Cond2 2.170026
7 2 T2 Cond1 0.120748
8 2 T2 Cond2 1.176353
dcast(ltest, ubj+substr(variable, 1,2) ~ substr(variable, 4,8) )
ubj substr(variable, 1, 2) Cond1 Cond2
1 1 T1 0.125869 4.108232
2 1 T2 1.099392 5.556614
3 2 T1 1.427940 2.170026
4 2 T2 0.120748 1.176353
The modifications to get it exactly as requested are left to the reader
...
Thanks in advance!
Gang
[[alternative HTML version deleted]]
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.