try this: (uses 'ave') > df <- expand.grid(T=seq(10,80, by=5), conc=rep(c(1, 3, 7), 2)) > df$curve <- as.factor(rep(1:6, each=length(seq(10,80, by=5)))) > df$counts <- 3*df$T/df$conc + rnorm(df$T,0,2) > > plot(counts~T, df) > df$zero <- ave(df$counts, df$curve, FUN = function(x) x - min(x)) > > df T conc curve counts zero 1 10 1 1 30.4148210 0.000000 2 15 1 1 43.2169594 12.802138 3 20 1 1 64.3876491 33.972828 4 25 1 1 75.2957249 44.880904 5 30 1 1 95.4479888 65.033168 6 35 1 1 103.5814348 73.166614 7 40 1 1 121.0131061 90.598285 8 45 1 1 135.8270827 105.412262 9 50 1 1 152.7179565 122.303136 10 55 1 1 165.2928662 134.878045 11 60 1 1 181.1899238 150.775103 12 65 1 1 197.8600462 167.445225 13 70 1 1 210.0112723 179.596451 14 75 1 1 224.1807064 193.765885 15 80 1 1 237.5717249 207.156904 16 10 3 2 8.2411801 0.000000 17 15 3 2 14.7415660 6.500386 18 20 3 2 20.9944483 12.753268 19 25 3 2 23.4369433 15.195763
On Wed, Apr 25, 2012 at 10:57 AM, Carly Huitema <carly.huit...@gmail.com> wrote: > Hello R-help list, > > I would really appreciate help with my factoring problem. > > My generated data is this: > > df <- expand.grid(T=seq(10,80, by=5), conc=rep(c(1, 3, 7), 2)) > df$curve <- as.factor(rep(1:6, each=length(seq(10,80, by=5)))) > df$counts <- 3*df$T/df$conc + rnorm(df$T,0,2) > > plot(counts~T, df) > > > What I would like to do add a new column to the dataframe of zeroed > data (say df$counts.zeroed). For each curve (designated by factor > df$curve) I want to take the value in counts and subtract the minimum > value for that curve. However, I don't really have an idea of how to > approach this problem and haven't found anything in my searches. > > And just as a second question, my second line of code assigns the > factors, but if there is a nicer way of doing this I would really > appreciate knowing how. > > Thanks for any help! > Carly > > ______________________________________________ > 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. -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. ______________________________________________ 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.