Hi: Here's a way using the reshape2 package.
library('reshape2') rsub <- subset(rtest, concept %in% c('8.2.D', '8.3.A', '8.3.B')) # want year ahead of concept in the variable list rsub <- rsub[, c(1:4, 9, 5:8)] cast(rsub, id + test + subject + grade + year ~ concept, value_var = 'per_corr') # Using per_corr as value column. Use the value argument to cast to override this choice # id test subject grade year 8.2.D 8.3.A 8.3.B # 1 1 83 Mathema 8 2011 100 50 100 # 2 2 83 Mathema 8 2011 100 100 50 HTH, Dennis On Thu, Oct 20, 2011 at 11:55 AM, James Holland <holland.ag...@gmail.com> wrote: > Hello, > > I have a dataset with student performance on a math test. There are > multiple cases for each student (identified by id) and the concept as a > variable. > >> rtest > > id test subject grade concept correct tested per_corr > year > 1 1 83 Mathema 8 8.2.D 1 1 100 > 2011 > 2 1 83 Mathema 8 8.3.A 1 2 50 > 2011 > 3 1 83 Mathema 8 8.3.B 2 2 100 > 2011 > 4 1 83 Mathema 8 8.4 2 2 100 > 2011 > 5 1 83 Mathema 8 8.5.A 1 2 50 > 2011 > 6 1 83 Mathema 8 8.5.B 0 2 0 > 2011 > 7 2 83 Mathema 8 8.2.D 1 1 100 > 2011 > 8 2 83 Mathema 8 8.3.A 2 2 100 > 2011 > 9 2 83 Mathema 8 8.3.B 1 2 50 > 2011 > 10 2 83 Mathema 8 8.4 2 2 100 > 2011 > 11 2 83 Mathema 8 8.5.A 1 2 50 > 2011 > 12 2 83 Mathema 8 8.5.B 0 2 0 > 2011 > > > I would like to make a variable for each concept (e.g. 8.2D, 8.3.A, 8.3B) > and then put that percentage correct currently under per_corr for that > variable. > > Such as > > id test subject grade 8.2D 8.3.A 8.3.B > year > 1 1 83 Mathema 8 100 50 100 > 2011 > 2 2 83 Mathema 8 100 100 50 > 2011 > > > > > Does anybody have an effcient way of doing this? > > What trips me up is handling the variables such as test and subject. > > Thank you, > > James > > [[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. > ______________________________________________ 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.