<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">CaRos,</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Ao rodar o script abaixo, a função 'optim' retorna a mensagem: 'Erro em function (par)  : não foi possível encontrar a função "fn"'. Tentei, mas não consegui encontrar a razão para o erro. Alguém teria uma idéia?</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Grato,</div><div style="font-family: arial,
 helvetica, sans-serif; font-size: 10pt; ">Rubem</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span style="font-size: 10pt; "><br></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span style="font-size: 10pt; "><br></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span style="font-size: 10pt; ">## Script R:</span><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div><font size="2" style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;"><div>library(tweedie)</div><div><br></div><div><br></div><div># Simulação de
 dados</div><div>period<-factor(1:4)</div><div>herd<-factor(1:10)</div><div><br></div><div>dat<-expand.grid(period=period,herd=herd)</div><div><br></div><div>beta<-c(-.3,1.7,2.5,3.4)</div><div>x<-model.matrix(~period,dat)</div><div><br></div><div>b<-rnorm(length(levels(dat$herd)),sd=.3)  </div><div>z<-model.matrix(~-1+herd,dat)             </div><div><br></div><div>mu<-as.vector(exp(x%*%beta+z%*%b))    </div><div>phi<-.8; p<-1.6    </div><div><br></div><div>dat$resp<-rtweedie(nrow(dat),p,mu,phi)  </div><div>y<-dat$resp</div><div><br></div><div><br></div><div>th<-c(rep(0,ncol(x)),1,1,1.5)</div><div><br></div><div>beta<-th[1:ncol(x)]</div><div>sig<-th[ncol(x)+1]</div><div>phi<-th[ncol(x)+2]</div><div>p<-th[ncol(x)+3]</div><div><br></div><div>z.ast<-sig*z</div><div><br></div><div>l.u<-function(u,y,z,x,beta,phi,p){</div><div> 
 eta.u<-as.vector(x%*%beta+z%*%u)</div><div>  f.y<-log(dtweedie(y,p,exp(eta.u),phi))</div><div>  l.yu<-sum(f.y)+sum(dnorm(u,log=T))</div><div>  return(-l.yu)</div><div>}</div><div><br></div><div>uhat<-optim(rep(0,ncol(z)),l.u,method="BFGS",hessian=T,</div><div>            y=y,z=z.ast,x=x,beta=beta,phi=phi,p=p)</div></font></div></div></body></html>