Skip to content

Tidy summarizes information about the components of a model. A model component might be a single term in a regression, a single hypothesis, a cluster, or a class. Exactly what tidy considers to be a model component varies across models but is usually self-evident. If a model has several distinct types of components, you will need to specify which components to return.


# S3 method for mlm
tidy(x, = FALSE, conf.level = 0.95, ...)



An mlm object created by stats::lm() with a matrix as the response.

Logical indicating whether or not to include a confidence interval in the tidied output. Defaults to FALSE.


The confidence level to use for the confidence interval if = TRUE. Must be strictly greater than 0 and less than 1. Defaults to 0.95, which corresponds to a 95 percent confidence interval.


Additional arguments. Not used. Needed to match generic signature only. Cautionary note: Misspelled arguments will be absorbed in ..., where they will be ignored. If the misspelled argument has a default value, the default value will be used. For example, if you pass conf.lvel = 0.9, all computation will proceed using conf.level = 0.95. Two exceptions here are:

  • tidy() methods will warn when supplied an exponentiate argument if it will be ignored.

  • augment() methods will warn when supplied a newdata argument if it will be ignored.


In contrast to lm object (simple linear model), tidy output for mlm (multiple linear model) objects contain an additional column response.

If you have missing values in your model data, you may need to refit the model with na.action = na.exclude.


A tibble::tibble() with columns:


Upper bound on the confidence interval for the estimate.


Lower bound on the confidence interval for the estimate.


The estimated value of the regression term.


The two-sided p-value associated with the observed statistic.


The value of a T-statistic to use in a hypothesis that the regression term is non-zero.


The standard error of the regression term.


The name of the regression term.


# fit model
mod <- lm(cbind(mpg, disp) ~ wt, mtcars)

# summarize model fit with tidiers
tidy(mod, = TRUE)
#> # A tibble: 4 × 8
#>   response term   estimate std.error statistic  p.value conf.low conf.high
#>   <chr>    <chr>     <dbl>     <dbl>     <dbl>    <dbl>    <dbl>     <dbl>
#> 1 mpg      (Inte…    37.3      1.88      19.9  8.24e-19    33.5      41.1 
#> 2 mpg      wt        -5.34     0.559     -9.56 1.29e-10    -6.49     -4.20
#> 3 disp     (Inte…  -131.      35.7       -3.67 9.33e- 4  -204.      -58.2 
#> 4 disp     wt       112.      10.6       10.6  1.22e-11    90.8     134.