p.75 Problem3.3.1

nll.condition=function(par,y) { p=1:4 d=par[1] g=par[2] p[1]=d+(1-d)g p[2]=1-p[1] p[3]=g p[4]=1-p[3] return(-sum(ylog(p))) }

nll.1=function(par4,y8) { nll.condition(par4[1:2],y8[1:4])+ nll.condition(par4[3:4],y8[5:8]) }

nll.2=function(par3,y8) { nll.condition(par3[1:2],y8[1:4])+ nll.condition(par3[c(1,3)],y8[5:8]) }

nll.3=function(par3,y8) { nll.condition(par3[c(1,3)],y8[1:4])+ nll.condition(par3[2:3],y8[5:8]) }

optimize process

dat=c(33,17,42,9,40,10,30,20)

par=c(.5,.5,.5,.5) mod1=optim(par,nll.1,y8=dat,hessian=T)

par=c(.5,.5,.5) mod2=optim(par,nll.2,y8=dat,hessian=T)

par=c(.5,.5,.5) mod3=optim(par,nll.3,y8=dat,hessian=T)

draw picture

errbar=function(x,y,height,width,lty=1){ arrows(x,y,x,y+height,angle=90,length=width,lty=lty) arrows(x,y,x,y-height,angle=90,length=width,lty=lty) }

mod1SE=sqrt(1/diag(mod1$hessian))

xpos=barplot(mod1$par,names.arg=c(‘Dectection(d1)’,‘Guessing(g1)’,‘Dectection(d2)’, ‘Guessing(g2)’),col=c(‘#80FFFF’,‘yellow’,‘#80FFFF’,‘yellow’),ylim=c(0,1),space=.2,ylab=‘parameter Estimate’)

errbar(xpos,mod1$par,mod1SE,.2)