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.

Reply via email to