View source: R/family.categorical.R

propodds | R Documentation |

Fits the proportional odds model to a (preferably ordered) factor response.

```
propodds(reverse = TRUE, whitespace = FALSE,
thresholds = c("unconstrained", "equidistant",
"symmetric1", "symmetric0"), Treverse = reverse,
Tref = if (Treverse) "M" else 1)
```

`reverse, whitespace` |
Logical.
Fed into arguments of the same name in |

`thresholds, Treverse, Tref` |
Fed into arguments of the same name in |

The *proportional odds model* is a special case from the
class of *cumulative link models*.
It involves a logit link applied to cumulative probabilities
and a strong *parallelism* assumption.
A parallelism assumption means there is less chance of
numerical problems because the fitted probabilities will remain
between 0 and 1; however
the *parallelism* assumption ought to be checked,
e.g., via a likelihood ratio test.
This VGAM family function is merely a shortcut for
`cumulative(reverse = reverse, link = "logit", parallel = TRUE)`

.
Please see `cumulative`

for more details on this
model.

An object of class `"vglmff"`

(see `vglmff-class`

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

,
and `vgam`

.

No check is made to verify that the response is ordinal if the
response is a matrix; see `ordered`

.

Thomas W. Yee

See `cumulative`

.

`cumulative`

,
`R2latvar`

.

```
# Fit the proportional odds model, McCullagh and Nelder (1989,p.179)
pneumo <- transform(pneumo, let = log(exposure.time))
(fit <- vglm(cbind(normal, mild, severe) ~ let, propodds, pneumo))
depvar(fit) # Sample proportions
weights(fit, type = "prior") # Number of observations
coef(fit, matrix = TRUE)
constraints(fit) # Constraint matrices
summary(fit)
# Check that the model is linear in let ----------------------
fit2 <- vgam(cbind(normal, mild, severe) ~ s(let, df = 2), propodds,
pneumo)
## Not run: plot(fit2, se = TRUE, lcol = 2, scol = 2)
# Check the proportional odds assumption with a LRT ----------
(fit3 <- vglm(cbind(normal, mild, severe) ~ let,
cumulative(parallel = FALSE, reverse = TRUE), pneumo))
pchisq(deviance(fit) - deviance(fit3),
df = df.residual(fit) - df.residual(fit3), lower.tail = FALSE)
lrtest(fit3, fit) # Easier
```

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.