summ() prints output for a regression model in a fashion similar to summary(), but formatted differently with more options.

# S3 method for glm
  scale = FALSE,
  confint = getOption("summ-confint", FALSE),
  ci.width = getOption("summ-ci.width", 0.95),
  robust = getOption("summ-robust", FALSE),
  cluster = NULL,
  vifs = getOption("summ-vifs", FALSE),
  digits = getOption("jtools-digits", default = 2),
  exp = FALSE,
  pvals = getOption("summ-pvals", TRUE), = 1,
  center = FALSE,
  transform.response = FALSE,
  data = NULL, = getOption("", TRUE), = getOption("", TRUE),
  which.cols = NULL,
  vcov = NULL,



A glm object.


If TRUE, reports standardized regression coefficients. Default is FALSE.


Show confidence intervals instead of standard errors? Default is FALSE.


A number between 0 and 1 that signifies the width of the desired confidence interval. Default is .95, which corresponds to a 95% confidence interval. Ignored if confint = FALSE.


If not FALSE, reports heteroskedasticity-robust standard errors instead of conventional SEs. These are also known as Huber-White standard errors. There are several options provided by sandwich::vcovHC(): "HC0", "HC1", "HC2", "HC3", "HC4", "HC4m", "HC5".

Default is FALSE.

This requires the sandwich package to compute the standard errors.


For clustered standard errors, provide the column name of the cluster variable in the input data frame (as a string). Alternately, provide a vector of clusters.


If TRUE, adds a column to output with variance inflation factors (VIF). Default is FALSE.


An integer specifying the number of digits past the decimal to report in the output. Default is 2. You can change the default number of digits for all jtools functions with options("jtools-digits" = digits) where digits is the desired number.


If TRUE, reports exponentiated coefficients with confidence intervals for exponential models like logit and Poisson models. This quantity is known as an odds ratio for binary outcomes and incidence rate ratio for count models.


Show p values? If FALSE, these are not printed. Default is TRUE.

If scale = TRUE, how many standard deviations should predictors be divided by? Default is 1, though some suggest 2.


If you want coefficients for mean-centered variables but don't want to standardize, set this to TRUE.


Should scaling/centering apply to response variable? Default is FALSE.


If you provide the data used to fit the model here, that data frame is used to re-fit the model (if scale is TRUE) instead of the stats::model.frame() of the model. This is particularly useful if you have variable transformations or polynomial terms specified in the formula.

Toggles printing of basic information on sample size, name of DV, and number of predictors.

Toggles printing of model fit statistics.


Developmental feature. By providing columns by name, you can add/remove/reorder requested columns in the output. Not fully supported, for now.


You may provide your own variance-covariance matrix for the regression coefficients if you want to calculate standard errors in some way not accommodated by the robust and cluster options.


Among other things, arguments are passed to scale_mod() or center_mod() when center or scale is TRUE.


If saved, users can access most of the items that are returned in the output (and without rounding).


The outputted table of variables and coefficients


The model for which statistics are displayed. This would be most useful in cases in which scale = TRUE.

Much other information can be accessed as attributes.


By default, this function will print the following items to the console:

  • The sample size

  • The name of the outcome variable

  • The chi-squared test, (Pseudo-)R-squared value and AIC/BIC.

  • A table with regression coefficients, standard errors, z values, and p values.

There are several options available for robust. The heavy lifting is done by sandwich::vcovHC(), where those are better described. Put simply, you may choose from "HC0" to "HC5". Based on the recommendation of the developers of sandwich, the default is set to "HC3". Stata's default is "HC1", so that choice may be better if the goal is to replicate Stata's output. Any option that is understood by vcovHC() will be accepted. Cluster-robust standard errors are computed if cluster is set to the name of the input data's cluster variable or is a vector of clusters.

The scale and center options are performed via refitting the model with scale_mod() and center_mod(), respectively. Each of those in turn uses gscale() for the mean-centering and scaling.


King, G., & Roberts, M. E. (2015). How robust standard errors expose methodological problems they do not fix, and what to do about it. Political Analysis, 23(2), 159–179.

Lumley, T., Diehr, P., Emerson, S., & Chen, L. (2002). The Importance of the Normality Assumption in Large Public Health Data Sets. Annual Review of Public Health, 23, 151–169.

See also

scale_mod() can simply perform the standardization if preferred.

gscale() does the heavy lifting for mean-centering and scaling behind the scenes.

Other summ: summ.lm(), summ.merMod(), summ.rq(), summ.svyglm()


## Dobson (1990) Page 93: Randomized Controlled Trial : counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) print(d.AD <- data.frame(treatment, outcome, counts))
#> treatment outcome counts #> 1 1 1 18 #> 2 1 2 17 #> 3 1 3 15 #> 4 2 1 20 #> 5 2 2 10 #> 6 2 3 20 #> 7 3 1 25 #> 8 3 2 13 #> 9 3 3 12
glm.D93 <- glm(counts ~ outcome + treatment, family = poisson) # Summarize with standardized coefficients summ(glm.D93, scale = TRUE)
#> MODEL INFO: #> Observations: 9 #> Dependent Variable: counts #> Type: Generalized linear model #> Family: poisson #> Link function: log #> #> MODEL FIT: #> <U+03C7>²(4) = 5.45, p = 0.24 #> Pseudo-R² (Cragg-Uhler) = 0.46 #> Pseudo-R² (McFadden) = 0.10 #> AIC = 56.76, BIC = 57.75 #> #> Standard errors: MLE #> ------------------------------------------------ #> Est. S.E. z val. p #> ----------------- ------- ------ -------- ------ #> (Intercept) 3.04 0.17 17.81 0.00 #> outcome2 -0.45 0.20 -2.25 0.02 #> outcome3 -0.29 0.19 -1.52 0.13 #> treatment2 0.00 0.20 0.00 1.00 #> treatment3 0.00 0.20 0.00 1.00 #> ------------------------------------------------ #> #> Continuous predictors are mean-centered and scaled by 1 s.d.