[R] average of y at each level of x?
Liaw, Andy
andy_liaw at merck.com
Fri Nov 7 20:54:11 CET 2003
Try (untested):
p1 <- tapply(y, x, function(z) mean(z == 0))
HTH,
Andy
> From: Bill Simpson [mailto:William.Simpson at drdc-rddc.gc.ca]
>
> I have x,y data and would like to compute the average of y at
> each level
> of x.
>
> > x
> [1] 0.006110 0.007027 0.007027 0.007027 0.008081 0.008081
> 0.008081 0.008081 [9] 0.008081 0.008081 0.008081 0.009293
> 0.009293 0.009293 0.009293 0.009293 [17] 0.009293 0.009293
> 0.009293 0.010686 0.010686 0.010686 0.010686 0.010686 [25]
> 0.010686 0.010686 0.010686 0.010686 0.010686 0.012289
> 0.012289 0.012289 [33] 0.012289 0.012289 0.012289 0.012289
> 0.012289 0.012289 0.012289 0.012289 [41] 0.012289 0.012289
> 0.014133 0.014133 0.014133 0.014133 0.016253 0.018691 [49]
> 0.021494 0.024718 0.028426 0.032690 0.037594 0.043233
> 0.049718 0.057175 [57] 0.065752 0.075614 0.086957 0.100000
>
> > y
> [1] 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0
> 1 1 1 0 1 1 1 1 1 1 [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>
> > table(x,y)
> y
> x 0 1
> 0.00611 1 0
> 0.007027 2 1
> 0.008081 3 4
> 0.009293 3 5
> 0.010686 4 6
> 0.012289 1 12
> 0.014133 0 4
> 0.016253 0 1
> 0.018691 0 1
> 0.021494 0 1
> 0.024718 0 1
> 0.028426 0 1
> 0.03269 0 1
> 0.037594 0 1
> 0.043233 0 1
> 0.049718 0 1
> 0.057175 0 1
> 0.065752 0 1
> 0.075614 0 1
> 0.086957 0 1
> 0.1 0 1
>
> I would like to compute p = count1/(count0 +count1). For
> example, for x=0.012289, p= 12/(1+12)= 0.923077. Please tell
> me how to do it. Maybe
> there is a better way to do this without going through table().
>
> Thanks very much for any help.
>
> Bill Simpson
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo> /r-help
>
More information about the R-help
mailing list