On Sep 17, 2012, at 5:00 PM, David Winsemius wrote: > > On Sep 17, 2012, at 4:15 PM, Julie Lee-Yaw wrote: > >> Hi >> >> I have a dataframe similar to: >> >>> Sample<-c(1,1,1,2,2,2,3,3,3) >> >>> Time<-c(1,2,3,1,2,3,1,2,3) >> >>> Mass<-c(3,3.1,3.4,4,4.3,4.4,3,3.2,3.5) >> >>> mydata<-as.data.frame(cbind(Sample,Time,Mass)) >> > Please tell me where you learned that as.data.frame(cbind(.)) construction. > >> ( >> Sample Time Mass >> 1 1 1 3.0 >> 2 1 2 3.1 >> 3 1 3 3.4 >> 4 2 1 4.0 >> 5 2 2 4.3 >> 6 2 3 4.4 >> 7 3 1 3.0 >> 8 3 2 3.2 >> 9 3 3 3.5 >> >> where for each sample, I've measured mass at different points in time. >> >> I now want to calculate the difference between Mass at Time 2 and 3 for each >> unique Sample and store this as a new variable called "Gain2-3". So in my >> example three values of 0.3,0.1,0.3 would be calculated for my three unique >> samples and these values would be repeated in the table according to Sample. >> I am thus expecting: >> >>> mydata #after adding new variable > > mydata$gain2.3 <- with( mydata, ave( Mass , Time, FUN=function(x) > diff(x[2],x[3]) ) )
OOOPpps .... the code above was a failed attempt. >> >> Sample Time MassGain2-3 >> 1 1 1 3.00.3 >> 2 1 2 3.1 0.3 >> 3 1 3 3.4 0.3 >> 4 2 1 4.0 0.1 >> 5 2 2 4.3 0.1 >> 6 2 3 4.4 0.1 >> 7 3 1 3.0 0.3 >> 8 3 2 3.2 0.3 >> 9 3 3 3.5 0.3 ... the code below should "work". >> > >> mydata$gain2.3 <- with( mydata, ave( Mass , Sample, FUN=function(x) >> (x[3]-x[2]) ) ) >> mydata > Sample Time Mass gain2.3 > 1 1 1 3.0 0.3 > 2 1 2 3.1 0.3 > 3 1 3 3.4 0.3 > 4 2 1 4.0 0.1 > 5 2 2 4.3 0.1 > 6 2 3 4.4 0.1 > 7 3 1 3.0 0.3 > 8 3 2 3.2 0.3 > 9 3 3 3.5 0.3 > >> Does anyone have any suggestions as to how to do this? I've looked at the >> various apply functions but I can't seem to make anything work. I'm fairly >> new to R and would appreciate specific suggestions. > > -- > David Winsemius, MD > Alameda, CA, USA > > ______________________________________________ > 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. David Winsemius, MD Alameda, CA, USA ______________________________________________ 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.