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

Paulo J Ribeiro Jr paulojus em leg.ufpr.br
Quinta Maio 24 15:34:17 BRT 2012


para usar com a optim() 
a sua função l.u tem que receber todos os parametros a serem estimados 
em um unico vetor como primeiro argumento.
Isto terá a mesma dimensao do vetor de valores iniciais

Me parece que voce está passando varias argumentos como os parametros.


Em Qua, 2012-05-23 às 05:40 -0700, Rubem Kaipper Ceratti escreveu:
> 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) 
-- 
Paulo Justiniano Ribeiro Jr
LEG (Laboratorio de Estatistica e Geoinformacao)
Universidade Federal do Parana
Caixa Postal 19.081
CEP 81.531-990
Curitiba, PR  -  Brasil
Tel: (+55) 41 3361 3573
VOIP: (+55) (41) (3361 3600) 1053 1066
Fax: (+55) 41 3361 3141
e-mail: paulojus AT  ufpr  br
http://www.leg.ufpr.br/~paulojus




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