Learn R Programming

broom (version 0.5.6)

tidy.polr: Tidying methods for ordinal logistic regression models

Description

These methods tidy the coefficients of ordinal logistic regression models generated by ordinal::clm() or ordinal::clmm() of the ordinal package, MASS::polr() of the MASS packge, or survey::svyolr() of the survey package.

Usage

# S3 method for polr
tidy(
  x,
  conf.int = FALSE,
  conf.level = 0.95,
  exponentiate = FALSE,
  quick = FALSE,
  ...
)

# S3 method for polr glance(x, ...)

# S3 method for polr augment( x, data = stats::model.frame(x), newdata, type.predict = c("probs", "class"), ... )

# S3 method for clm tidy( x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, quick = FALSE, conf.type = c("profile", "Wald"), ... )

# S3 method for clmm tidy( x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, quick = FALSE, conf.type = c("profile", "Wald"), ... )

# S3 method for clm glance(x, ...)

# S3 method for clmm glance(x, ...)

# S3 method for clm augment( x, data = stats::model.frame(x), newdata, type.predict = c("prob", "class"), ... )

# S3 method for svyolr tidy( x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, quick = FALSE, ... )

# S3 method for svyolr glance(x, ...)

Arguments

x

a model of class clm, clmm, polr or svyolr

conf.int

whether to include a confidence interval

conf.level

confidence level of the interval, used only if conf.int=TRUE

exponentiate

whether to exponentiate the coefficient estimates and confidence intervals (typical for ordinal logistic regression)

quick

whether to compute a smaller and faster version, containing only the term, estimate and coefficient_type columns

...

extra arguments

data

original data, defaults to the extracting it from the model

newdata

if provided, performs predictions on the new data

type.predict

type of prediction to compute for a CLM; passed on to ordinal::predict.clm() or predict.polr

conf.type

the type of confidence interval (see ordinal::confint.clm())

Value

tidy.clm, tidy.clmm, tidy.polr and tidy.svyolr return one row for each coefficient at each level of the response variable, with six columns:

term

term in the model

estimate

estimated coefficient

std.error

standard error

statistic

z-statistic

p.value

two-sided p-value

coefficient_type

type of coefficient, see ordinal::clm()

If conf.int=TRUE, it also includes columns for conf.low and

glance.clm, glance.clmm, glance.polr and glance.svyolr return a one-row data.frame with the columns:

edf

the effective degrees of freedom

logLik

the data's log-likelihood under the model

AIC

the Akaike Information Criterion

BIC

the Bayesian Information Criterion

df.residual

residual degrees of freedom

augment.clm and augment.polr returns one row for each observation, with additional columns added to the original data:

.fitted

fitted values of model

.se.fit

standard errors of fitted values

augment is not supportted for ordinal::clmm() and survey::svyolr() models.

All tidying methods return a data.frame without rownames. The structure depends on the method chosen.

Examples

Run this code
# NOT RUN {
if (require(ordinal)){
  clm_mod <- clm(rating ~ temp * contact, data = wine)
  tidy(clm_mod)
  tidy(clm_mod, conf.int = TRUE)
  tidy(clm_mod, conf.int = TRUE, conf.type = "Wald", exponentiate = TRUE)
  glance(clm_mod)
  augment(clm_mod)

  clm_mod2 <- clm(rating ~ temp, nominal = ~ contact, data = wine)
  tidy(clm_mod2)

  clmm_mod <- clmm(rating ~ temp + contact + (1 | judge), data = wine)
  tidy(clmm_mod)
  glance(clmm_mod)
}
if (require(MASS)) {
  polr_mod <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
  tidy(polr_mod, exponentiate = TRUE, conf.int = TRUE)
  glance(polr_mod)
  augment(polr_mod, type.predict = "class")
}
# }

Run the code above in your browser using DataLab