R/beta-binomial.R

Defines functions rbb qbb pbb dbb

Documented in dbb pbb qbb rbb

# Copyright (C) Kevin R. Coombes, 2007-2012

dbb <- function(x, N, u, v, log = FALSE) {
  logval <- lbeta(x+u, N-x+v) - lbeta(u,v) + lchoose(N,x)
  if (log) {
    ret <- logval
  } else {
    ret <- exp(logval)
  }
  ret
}

pbb <- function(q, N, u, v) {
  sapply(q, function(xx) sum(dbb(0:xx, N, u, v)))
}

qbb <- function(p, N, u, v) {
  pp <- cumsum(dbb(0:N, N, u, v))
  sapply(p, function(x) sum(pp < x))
}

rbb <- function(n, N, u, v) {
  p <- rbeta(n, u, v)
  rbinom(n, N, p)
}

Try the TailRank package in your browser

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

TailRank documentation built on Jan. 13, 2023, 3:02 a.m.