On 7 Nov 2003 at 9:47, Bill Simpson wrote: Since your y is 0-1 the following works:
tapply(x, y ,mean) aggregate(x, y, mean) gives the output in a different format. Kjetil Halvorsen > 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 > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
