https://github.com/cran/emplik
Tip revision: 6d2aaee84bc7d13a97cf480fbaf9e89663bcb3cd authored by Mai Zhou on 09 January 2009, 00:00:00 UTC
version 0.9-5
version 0.9-5
Tip revision: 6d2aaee
el.test.wt.R
el.test.wt <- function(x, wt, mu) {
#x <- as.matrix(x)
#if( ncol(x) != 1 ) stop("x must be a vector")
if( length(mu) != 1 ) stop("mu must be a scalar")
xmu <- x-mu
allw <- sum(wt)
BU <- 0.02*allw/max(abs(xmu))
lamfun <- function(lam,xmu,wt,allw) { sum(wt*xmu/(allw+lam*xmu)) }
if(lamfun(0,xmu,wt,allw) == 0) lam0 <- 0
else {
if( lamfun(0,xmu,wt,allw) > 0 ) {lo <- 0
up <- BU
while(lamfun(up,xmu,wt,allw)>0)
up <- up + BU
}
else {up <- 0
lo <- - BU
while(lamfun(lo,xmu,wt,allw) < 0 )
lo <- lo - BU
}
lam0 <- uniroot(lamfun,lower=lo,upper=up,tol=1e-9,xmu=xmu,wt=wt,allw=allw)$root
}
pi <- wt/(allw + lam0*xmu)
list(x=x, wt=wt, prob=pi, lam=lam0)
}
### add output of lam0, 5/2007