Estou criando uma rotina (ainda em teste) para usar nos meus dados originais...Será que poderiam me ajudar pq desse erro:
teste<-c(0,2,0,1,0,1,3,0,0,0,4)
x <-c(0,2,1,5,3,1,0,1,5,7,2)
info1<-c()
info2<-c()
dzip1= function(y,x,p,beta){
for (i in 1:length(y))
{ beta0 = beta[1]
beta1 = beta[2]
lambda=exp(beta0+beta1*x[i])
if (y[i]==0) {info1[i]<-p+((1-p)*exp(-lambda))}
if (y[i]>0) {info2[i]<-((1-p)*exp(-lambda)*(lambda^y[i]))/factorial(y[i])}
}
return(na.exclude(c(info1,info2)))
}
dzip1(teste,x,0.3,c(0.5,2.5))
MV1 <- function(p,beta)
{ D = dzip1(teste,x,p,beta)
-sum(log(D))
}
library(stats4)
mle(MV1, start = list(p=0.5, beta=c(0.5,1)),method="L-BFGS-B")
> mle(MV1, start=list(p=0.5, beta=c(0.5,1)),method="L-BFGS-B")
Erro em optim(start, f, method = method, hessian = TRUE, ...) :
objeto (list) não é coercível para tipo 'double'
O mesmo programa funcionou mto bem, sem usar a função de ligação.
O problema começou qdo coloquei os betas.
Como não conheço mto a função mle, talvez vcs possam me ajudar....
Abçs,
--
------------------------------------------------------------------------------------------
Vanessa Felix do Nascimento Sergio
Graduada em Estatística - ICE/UFJF
Mestranda em Saúde Coletiva - IMS/UERJAssistente de pesquisa I - Instituto de Pesquisa Econômica Aplicada – IPEA
(32) 9142-8428
(21) 97557-3956
-------------------------------------------------------------------------------------------