On Mar 14, 2011, at 10:24 PM, Henrique Dallazuanna wrote:
Try this:
reshape(origdata.long, direction = 'wide', timevar = 'condition',
idvar =
c('subject', 'sex'))
If you first set the order in the desired sequence:
origdata.long$condition <- factor(origdata.long$condition,
levels=c('first', 'second', 'control') )
And then sort in that order before the reshape:
reshape(origdata.long[order(origdata.long$condition), ],
direction = 'wide',
timevar = 'condition',
idvar = c('subject', 'sex'))
You get what you asked for. It seems to be driven by the order in
which the values appear in the timevar and that_ might_ even be in the
help page, but reshape has is one of the most confusing help pages on
the planet.
--
David.
On Mon, Mar 14, 2011 at 10:06 PM, zhenjiang xu
<zhenjiang...@gmail.com>wrote:
Hi,
For example, the data.frame like:
origdata.long <- read.table(header=T, con <- textConnection('
subject sex condition measurement
1 M control 7.9
1 M first 12.3
1 M second 10.7
2 F control 6.3
2 F first 10.6
2 F second 11.1
3 F control 9.5
3 F first 13.1
3 F second 13.8
4 M control 11.5
4 M first 13.4
4 M second 12.9
'))
close(con)
Given a vector c('first', 'second', 'control), how can I reshape the
data.frame to this?
# subject sex first second control
# 1 M 12.3 10.7 7.9
# 2 F 10.6 11.1 6.3
# 3 F 13.1 13.8 9.5
# 4 M 13.4 12.9 11.5
I know reshape() can transform the data.frame from long to wide,
but it
seems not able to control the order of the columns.
Thanks ahead of time
--
Best,
Zhenjiang
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.