R/pl.dist.R

Defines functions pl.dist

Documented in pl.dist

pl.dist <-
function(variable, p.start=0.1, epsylon = 10^(-8)){
p.old = c(); p.new = c(); t=c(); t.avg=c()
p.old = p.start
diff = 0.1
n.iter=0
while(diff>epsylon) {
# E-step 
t = ((variable+p.old+3)*(variable+1))/((variable+p.old+2)*(p.old+1))
t.avg=mean(t)
# M-step
p.new = (-(t.avg-1)+sqrt((t.avg)^2+6*t.avg+1))/(2*t.avg)
diff = abs(p.old-p.new)
p.old = p.new
n.iter = n.iter + 1
}
outlist = list(p=p.new, n.iter=n.iter)
    class(outlist) = "pl.dist"
    return(outlist)

}

Try the MixedPoisson package in your browser

Any scripts or data that you put into this service are public.

MixedPoisson documentation built on May 2, 2019, 12:40 p.m.