tidy.polr {broom} | R Documentation

## 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 class 'polr'
    tidy(x, conf.int = FALSE, conf.level = 0.95,
      exponentiate = FALSE, quick = FALSE, ...)

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

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

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

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

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

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

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

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

    ## S3 method for class '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

    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")
    }

[Package broom version 0.5.2 Index]