Learn R Programming

VGAM (version 1.1-2)

poissonff: Poisson Family Function

Description

Family function for a generalized linear model fitted to Poisson responses.

Usage

poissonff(link = "loglink", imu = NULL,
          imethod = 1, parallel = FALSE, zero = NULL, bred = FALSE,
          earg.link = FALSE, type.fitted = c("mean", "quantiles"),
                       percentiles = c(25, 50, 75))

Arguments

link

Link function applied to the mean or means. See Links for more choices and information.

parallel

A logical or formula. Used only if the response is a matrix.

imu, imethod

See CommonVGAMffArguments for more information.

zero

Can be an integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The values must be from the set {1,2,…,\(M\)}, where \(M\) is the number of columns of the matrix response. See CommonVGAMffArguments for more information.

bred, earg.link

Details at CommonVGAMffArguments. Setting bred = TRUE should work for multiple responses and all VGAM link functions; it has been tested for loglink, identity but further testing is required.

type.fitted, percentiles

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, vgam, rrvglm, cqo, and cao.

Warning

With multiple responses, assigning a known dispersion parameter for each response is not handled well yet. Currently, only a single known dispersion parameter is handled well.

Details

\(M\) defined above is the number of linear/additive predictors. With overdispersed data try negbinomial.

References

McCullagh, P. and Nelder, J. A. (1989) Generalized Linear Models, 2nd ed. London: Chapman & Hall.

See Also

Links, hdeff.vglm, negbinomial, genpoisson, gatpoisson.mlm, zipoisson, pospoisson, oipospoisson, otpospoisson, skellam, mix2poisson, cens.poisson, ordpoisson, amlpoisson, inv.binomial, simulate.vlm, loglink, polf, rrvglm, cqo, cao, binomialff, poisson, Poisson, poisson.points, ruge, V1, residualsvglm.

Examples

Run this code
# NOT RUN {
poissonff()

set.seed(123)
pdata <- data.frame(x2 = rnorm(nn <- 100))
pdata <- transform(pdata, y1 = rpois(nn, exp(1 + x2)),
                          y2 = rpois(nn, exp(1 + x2)))
(fit1 <- vglm(cbind(y1, y2) ~ x2, poissonff, data = pdata))
(fit2 <- vglm(y1 ~ x2, poissonff(bred = TRUE), data = pdata))
coef(fit1, matrix = TRUE)
coef(fit2, matrix = TRUE)

nn <- 200
cdata <- data.frame(x2 = rnorm(nn), x3 = rnorm(nn), x4 = rnorm(nn))
cdata <- transform(cdata, lv1 = 0 + x3 - 2*x4)
cdata <- transform(cdata, lambda1 = exp(3 - 0.5 *  (lv1-0)^2),
                          lambda2 = exp(2 - 0.5 *  (lv1-1)^2),
                          lambda3 = exp(2 - 0.5 * ((lv1+4)/2)^2))
cdata <- transform(cdata, y1 = rpois(nn, lambda1),
                          y2 = rpois(nn, lambda2),
                          y3 = rpois(nn, lambda3))
# }
# NOT RUN {
 lvplot(p1, y = TRUE, lcol = 2:4, pch = 2:4, pcol = 2:4, rug = FALSE) 
# }

Run the code above in your browser using DataLab