dbetabin(x, size, prob, rho, log=FALSE)
pbetabin(q, size, prob, rho, log.p=FALSE)
rbetabin(n, size, prob, rho)
dbetabin.ab(x, size, shape1, shape2, log=FALSE)
pbetabin.ab(q, size, shape1, shape2, log.p=FALSE)
rbetabin.ab(n, size, shape1, shape2)
a
and b
in
beta
respectively.TRUE
then all probabilities p
are given as log(p)
.dbetabin
and dbetabin.ab
give the density,
pbetabin
and pbetabin.ab
give the distribution function, and rbetabin
and rbetabin.ab
generate random deviates.shape1
and shape2
.
Note that the mean of this beta distribution is
mu=shape1/(shape1+shape2)
, which therefore is the
mean or the probability of success. See betabinomial
and betabin.ab
,
the
betabinomial
,
betabin.ab
.N = 9; x = 0:N; s1=2; s2=3
dy = dbetabin.ab(x, size=N, shape1=s1, shape2=s2)
plot(x, dy, type="h", col="red", ylim=c(0,0.25), ylab="Probability",
main=paste("Beta-binomial (size=",N,", shape1=",s1,
", shape2=",s2,")", sep=""))
lines(x+0.1, dbinom(x, size=N, prob=s1/(s1+s2)), type="h", col="blue")
sum(dy*x) # Check expected values are equal
sum(dbinom(x, size=N, prob=s1/(s1+s2))*x)
cumsum(dy) - pbetabin.ab(x, N, shape1=s1, shape2=s2)
y = rbetabin.ab(n=10000, size=N, shape1=s1, shape2=s2)
ty = table(y)
lines(as.numeric(names(ty))+0.2, ty/sum(ty), type="h", col="green")
legend(5, 0.25, leg=c("beta-binomial","binomial", "random generated"),
col=c("red","blue","green"), lty=1)
Run the code above in your browser using DataLab