# Wilson CI for a proportion p, based on observing n.positive positives in srs of n # see Rothman 2002 p 132 wilson.ci = function(n.positive, n, conf.level=0.95){ z=qnorm(conf.level+(1-conf.level)/2); p.hat=n.positive/n; q.hat=1-p.hat; plus.minus = c(-1,1) * z * ( p.hat*q.hat/n + (1/4)*(z/n)^2 )^0.5; ci = ( n/(n+z^2)) * ( p.hat + (z^2)/(2*n) + plus.minus ); return(ci) } # Rothman examples (p 132 and q 2 p 142) wilson.ci(1,20,0.90) wilson.ci(0,30,0.90)