Skip to content
Prev 2895 / 15379 Next

[R-es] Incomplete final line (Antonio José Sáez)

Tengo el mismo problema que Eva en cualquier script que defina una 
función, pero no en otros que no definen funciones.
Por ahora he tenido que desinstalar la versión 2.14.0.
Os dejo un ejemplo (he simplificado la función, pero he dejado la 
estructura fundamental por si ahí está el error): si lanzáis 
source("probando.r") veréis que sale el mensaje de error.
Por supuesto, garantizo que ese error no aparece en las versiones 
anteriores.
#Doble Pareto con p=1/2 y mismo lambda (simétrica)
probando<-function(data=NULL,p0=c(1,1),method=1,iters=10000,print.level=0){
x<-data
n<-length(x)
x.pos<-x[x>=0]
n.pos<-length(x.pos)
x.neg<-x[x<0]
n.neg<-length(x.neg)
p0l<-p0[1]
p0s<-p0[2]
logL1<-function(p){
l1<-exp(p[1])
l2<-l1
s<-exp(p[2])
-(n.neg*log(l1)+n.pos*log(l2)
   -l1*sum(log(1-x.neg/s))-l2*sum(log(1+x.pos/s))
   -sum(log(1+abs(x)/s))
   -n*log(s)+n*log(0.5)
   )
}
if (method==1){
p0<-c(log(p0l),log(p0s))
   fit<-nlm(logL1,p=p0,hessian= TRUE,iterlim=iters,print.level=print.level)
   fit$value<-fit$minimum
   fit$par<-fit$estimate
   fit$convergence<-fit$code
   method="hessian nlm"
l.est<-exp(fit$par[1])
s.est<-exp(fit$par[2])
}
#Resultados
resultados<-list(
coefficients=c(l.est,s.est),
se="Mejor por bootstraping",
aic=2*(fit$value+2),
logver=fit$value,
code=fit$convergence,
method.estim=method
)
return(resultados)
}