# [R] average of y at each level of x?

Bill Simpson William.Simpson at drdc-rddc.gc.ca
Fri Nov 7 15:47:35 CET 2003

```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

```