On Mon, Mar 14, 2011 at 9: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.
You could reorder the columns afterwards: reshape(origdata.long, dir = "wide", idvar = c("subject", "sex"), timevar = "condition")[ c(1:2, 4:5, 3) ] -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.