Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/family.loglin.R

Fits a loglinear model to two binary responses.

1 |

`exchangeable` |
Logical.
If |

`zero` |
Which linear/additive predictors are modelled as
intercept-only?
A |

The model is

*
P(Y1=y1,Y2=y2) = exp(u0 + u1*y1 + u2*y2 + u12*y1*y2)*

where *y1* and *y2* are 0 or 1, and
the parameters are *u1*, *u2*,
*u12*.
The normalizing parameter *u0* can be expressed as a function
of the other parameters, viz.,

*
u0 = -log[1 + exp(u1) + exp(u2) + exp(u1 + u2 + u12)].*

The linear/additive predictors are
*(eta1,eta2,eta3) =
(u1,u2,u12)*.

An object of class `"vglmff"`

(see `vglmff-class`

).
The object is used by modelling functions such as `vglm`

,
`rrvglm`

and `vgam`

.

When fitted, the `fitted.values`

slot of the object contains the
four joint probabilities, labelled as
*(Y1,Y2)* = (0,0), (0,1), (1,0), (1,1), respectively.

The response must be a two-column matrix of ones and zeros only.
This is more restrictive than `binom2.or`

,
which can handle more types of input formats.
Note that each of the 4 combinations of the multivariate response
need to appear in the data set.
After estimation, the response attached to the object is also a
two-column matrix; possibly in the future it might change into a
four-column matrix.

Thomas W. Yee

Yee, T. W. and Wild, C. J. (2001).
Discussion to: “Smoothing spline ANOVA for multivariate Bernoulli
observations, with application to ophthalmology data (with discussion)”
by Gao, F., Wahba, G., Klein, R., Klein, B.
*Journal of the American Statistical Association*,
**96**, 127–160.

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

`binom2.or`

,
`binom2.rho`

,
`loglinb3`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
coalminers <- transform(coalminers, Age = (age - 42) / 5)
# Get the n x 4 matrix of counts
fit0 <- vglm(cbind(nBnW,nBW,BnW,BW) ~ Age, binom2.or, data = coalminers)
counts <- round(c(weights(fit0, type = "prior")) * depvar(fit0))
# Create a n x 2 matrix response for loglinb2()
# bwmat <- matrix(c(0,0, 0,1, 1,0, 1,1), 4, 2, byrow = TRUE)
bwmat <- cbind(bln = c(0,0,1,1), wheeze = c(0,1,0,1))
matof1 <- matrix(1, nrow(counts), 1)
newminers <- data.frame(bln = kronecker(matof1, bwmat[, 1]),
wheeze = kronecker(matof1, bwmat[, 2]),
wt = c(t(counts)),
Age = with(coalminers, rep(age, rep(4, length(age)))))
newminers <- newminers[with(newminers, wt) > 0,]
fit <- vglm(cbind(bln,wheeze) ~ Age, loglinb2(zero = NULL),
weight = wt, data = newminers)
coef(fit, matrix = TRUE) # Same! (at least for the log odds-ratio)
summary(fit)
# Try reconcile this with McCullagh and Nelder (1989), p.234
(0.166-0.131) / 0.027458 # 1.275 is approximately 1.25
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.