[R-br] Mensagem de erro da função optim

Rubem Kaipper Ceratti rubem_ceratti em yahoo.com.br
Quarta Maio 23 09:40:40 BRT 2012


CaRos,


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?


Grato,
Rubem


## Script R:


library(tweedie)


# Simulação de dados
period<-factor(1:4)
herd<-factor(1:10)

dat<-expand.grid(period=period,herd=herd)

beta<-c(-.3,1.7,2.5,3.4)
x<-model.matrix(~period,dat)

b<-rnorm(length(levels(dat$herd)),sd=.3)  
z<-model.matrix(~-1+herd,dat)             

mu<-as.vector(exp(x%*%beta+z%*%b))    
phi<-.8; p<-1.6    

dat$resp<-rtweedie(nrow(dat),p,mu,phi)  
y<-dat$resp


th<-c(rep(0,ncol(x)),1,1,1.5)

beta<-th[1:ncol(x)]
sig<-th[ncol(x)+1]
phi<-th[ncol(x)+2]
p<-th[ncol(x)+3]

z.ast<-sig*z

l.u<-function(u,y,z,x,beta,phi,p){
  eta.u<-as.vector(x%*%beta+z%*%u)
  f.y<-log(dtweedie(y,p,exp(eta.u),phi))
  l.yu<-sum(f.y)+sum(dnorm(u,log=T))
  return(-l.yu)
}

uhat<-optim(rep(0,ncol(z)),l.u,method="BFGS",hessian=T,
            y=y,z=z.ast,x=x,beta=beta,phi=phi,p=p)
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120523/a4b5f93b/attachment.html>


Mais detalhes sobre a lista de discussão R-br