# posbernUC: Positive Bernoulli Sequence Model In VGAM: Vector Generalized Linear and Additive Models

## Description

Density, and random generation for multiple Bernoulli responses where each row in the response matrix has at least one success.

## Usage

 ```1 2 3 4``` ```rposbern(n, nTimePts = 5, pvars = length(xcoeff), xcoeff = c(-2, 1, 2), Xmatrix = NULL, cap.effect = 1, is.popn = FALSE, link = "logitlink", earg.link = FALSE) dposbern(x, prob, prob0 = prob, log = FALSE) ```

## Arguments

 `x` response vector or matrix. Should only have 0 and 1 values, at least two columns, and each row should have at least one 1. `nTimePts` Number of sampling occasions. Called τ in `posbernoulli.b` and `posbernoulli.t`. `n` number of observations. Usually a single positive integer, else the length of the vector is used. See argument `is.popn`. `is.popn` Logical. If `TRUE` then argument `n` is the population size and what is returned may have substantially less rows than `n`. That is, if an animal has at least one one in its sequence then it is returned, else that animal is not returned because it never was captured. `Xmatrix` Optional X matrix. If given, the X matrix is not generated internally. `cap.effect` Numeric, the capture effect. Added to the linear predictor if captured previously. A positive or negative value corresponds to a trap-happy and trap-shy effect respectively.
 `pvars` Number of other numeric covariates that make up the linear predictor. Labelled `x1`, `x2`, ..., where the first is an intercept, and the others are independent standard `runif` random variates. The first `pvars` elements of `xcoeff` are used. `xcoeff` The regression coefficients of the linear predictor. These correspond to `x1`, `x2`, ..., and the first is for the intercept. The length of `xcoeff` must be at least `pvars`. `link, earg.link` The former is used to generate the probabilities for capture at each occasion. Other details at `CommonVGAMffArguments`. `prob, prob0` Matrix of probabilities for the numerator and denominators respectively. The default does not correspond to the M_b model since the M_b model has a denominator which involves the capture history. `log` Logical. Return the logarithm of the answer?

## Details

The form of the conditional likelihood is described in `posbernoulli.b` and/or `posbernoulli.t` and/or `posbernoulli.tb`. The denominator is equally shared among the elements of the matrix `x`.

## Value

`rposbern` returns a data frame with some attributes. The function generates random deviates (τ columns labelled `y1`, `y2`, ...) for the response. Some indicator columns are also included (those starting with `ch` are for previous capture history). The default setting corresponds to a M_{bh} model that has a single trap-happy effect. Covariates `x1`, `x2`, ... have the same affect on capture/recapture at every sampling occasion (see the argument `parallel.t` in, e.g., `posbernoulli.tb`).

The function `dposbern` gives the density,

## Note

The `r`-type function is experimental only and does not follow the usual conventions of `r`-type R functions. It may change a lot in the future. The `d`-type function is more conventional and is less likely to change.

## Author(s)

Thomas W. Yee.

`posbernoulli.tb`, `posbernoulli.b`, `posbernoulli.t`.
 ```1 2 3 4 5 6``` ```rposbern(n = 10) attributes(pdata <- rposbern(n = 100)) M.bh <- vglm(cbind(y1, y2, y3, y4, y5) ~ x2 + x3, posbernoulli.b(I2 = FALSE), data = pdata, trace = TRUE) constraints(M.bh) summary(M.bh) ```