Aggregating data help
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.aggie at 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 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.