pp.n <- 20 pp <- data.frame(p=exp(-5*runif(pp.n))) pp$x <- log(pp$p/(1-pp$p)) limits <- c(5,25,75,95,100) / 100 pp$score <- rep(0,pp.n) pp$level <- factor(pp$score) for (i in 1:length(limits)) pp$score[pp$p>limits[i]] <- i + 1 pp$y <- 100+pp$x + 4*rnorm(pp.n) pp.mean <- tapply(pp$y,pp$score,mean) pp.x <- aov(y~x,pp) pp.xs <- aov(y~score+x,pp) pp.s <- aov(y~score,pp) pp.score <- aov(y~score+level,pp) pp.p <- aov(y~p,pp)