Hi, Try this:
library(reshape) dat4<-data.frame(patient=rep(c(1:10), rep(3,10)),var=rep(c("cycle0","cycle1","cycle2"),rep(1,3)),value=c(rnorm(15,1,0.5),NA,rnorm(5,1,0.5),NA,rnorm(8,1,0.5))) > dat5<-cast(dat4,patient~var,value="value") > dat5 patient cycle0 cycle1 cycle2 1 1 1.8826827 1.0316985 1.0084754 2 2 1.1822553 1.5494087 0.9173749 3 3 0.3935503 0.7012282 0.5213031 4 4 0.8330390 0.6430550 0.7751283 5 5 1.4092714 0.8120330 0.6255491 6 6 NA 0.1068520 0.7556006 7 7 1.4322698 1.6109262 0.9650534 8 8 NA 0.3861208 1.1349206 9 9 1.5659958 1.8725942 1.5676570 10 10 1.0895054 1.1941775 1.3932515 For the missing values, I assume that cycle will be in the dataset on the longformat and its value as NA. A.K. ________________________________ From: Lib Gray <libgray3...@gmail.com> To: arun <smartpink...@yahoo.com> Cc: R help <r-help@r-project.org> Sent: Wednesday, June 6, 2012 2:28 PM Subject: Re: [R] Combine subsets by factor level Yes, except that patients have different cycle numbers. Such as, one might have cycle 1,2,3, and another has 1,4,12. On Jun 6, 2012 12:54 PM, "arun" <smartpink...@yahoo.com> wrote: Hi Iglucia, > >I am not sure how your dataset looks like. Does it look similar to this: > >> dat4<-data.frame(patient=rep(c(1:10), >> rep(3,10)),var=rep(c("cycle0","cycle1","cycle2"),rep(1,3)),value=c(rnorm(15,1,0.5),NA,rnorm(5,1,0.5),NA,rnorm(8,1,0.5))) >> dat4 > patient var value >1 1 cycle0 1.8826827 >2 1 cycle1 1.0316985 >3 1 cycle2 1.0084754 >4 2 cycle0 1.1822553 >5 2 cycle1 1.5494087 >6 2 cycle2 0.9173749 >7 3 cycle0 0.3935503 >8 3 cycle1 0.7012282 >9 3 cycle2 0.5213031 >10 4 cycle0 0.8330390 >11 4 cycle1 0.6430550 >12 4 cycle2 0.7751283 >13 5 cycle0 1.4092714 >14 5 cycle1 0.8120330 >15 5 cycle2 0.6255491 >16 6 cycle0 NA >17 6 cycle1 0.1068520 >18 6 cycle2 0.7556006 >19 7 cycle0 1.4322698 >20 7 cycle1 1.6109262 >21 7 cycle2 0.9650534 >22 8 cycle0 NA >23 8 cycle1 0.3861208 >24 8 cycle2 1.1349206 >25 9 cycle0 1.5659958 >26 9 cycle1 1.8725942 >27 9 cycle2 1.5676570 >28 10 cycle0 1.0895054 >29 10 cycle1 1.1941775 >30 10 cycle2 1.3932515 > > > > > >A.K. > > > > > > >----- Original Message ----- >From: lglucia <libgray3...@gmail.com> >To: r-help@r-project.org >Cc: >Sent: Wednesday, June 6, 2012 12:07 AM >Subject: [R] Combine subsets by factor level > >I'm attempting to change a data set by compressing rows into columns. >Currently there are several rows that all have information about one >"patient," but at different cycles. I'm trying to make each patient only >have one row in the data set. > >Does anyone know a good way to combine data sets by factor level? I've >separated the groups into different subsets by cycle, but not every patient >has data for every cycle (i.e. there are 1200 who have cycle 0, but only 200 >of those have a cycle 1, and a different number have cycles higher than >that, etc). I then made the patient number the identifying label. If there >is a way to column-combine these subsets by the factor level of these >patient names, and leave any patients that are missing a cycle as NA? > >If anyone has insight on how to do this, or a better way to complete what >I'm trying to do, I'd appreciate it! > >-- >View this message in context: >http://r.789695.n4.nabble.com/Combine-subsets-by-factor-level-tp4632472.html >Sent from the R help mailing list archive at Nabble.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. > > ______________________________________________ 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.