Learn R Programming

bruceR (version 0.6.4)

model_summary: Tidy report of regression models (to R Console or MS Word).

Description

Tidy report of regression models (to R Console or MS Word). Most types of regression models are supported! This function is an extension (and combination) of texreg::screenreg(), texreg::htmlreg(), MuMIn::std.coef(), MuMIn::r.squaredGLMM(), performance::r2_mcfadden(), performance::r2_nagelkerke().

Usage

model_summary(
  model_list,
  std_coef = FALSE,
  digits = nsmall,
  nsmall = 3,
  file = NULL,
  zero = ifelse(std_coef, FALSE, TRUE),
  modify_se = NULL,
  modify_head = NULL,
  bold = 0,
  ...
)

Arguments

model_list

A single model or a list of models (of the same type). Most types of regression models are supported!

std_coef

Standardized coefficients? Default is FALSE. Only applicable to linear models and linear mixed models. Not applicable to generalized linear (mixed) models.

digits

Number of decimal places of output. Default is 3.

nsmall

The same as digits.

file

File name of MS Word (.doc).

zero

Display "0" before "."? Default is TRUE.

modify_se

Replace standard errors. Useful if you need to replace raw SEs with robust SEs. New SEs should be provided as a list of numeric vectors. See usage in texreg::screenreg().

modify_head

Replace model names.

bold

The p-value threshold below which the coefficients will be formatted in bold.

...

Other parameters passed to texreg::screenreg() or texreg::htmlreg().

Value

Invisibly return the output (character string).

Examples

Run this code
# NOT RUN {
## Example 1: Linear Model
lm1=lm(Temp ~ Month + Day, data=airquality)
lm2=lm(Temp ~ Month + Day + Wind + Solar.R, data=airquality)
model_summary(lm1)
model_summary(lm2)
model_summary(list(lm1, lm2))
model_summary(list(lm1, lm2), std=TRUE, digits=2)
model_summary(list(lm1, lm2), file="OLS Models.doc")
unlink("OLS Models.doc")  # delete file for test

## Example 2: Generalized Linear Model
glm1=glm(case ~ age + parity,
         data=infert, family=binomial)
glm2=glm(case ~ age + parity + education + spontaneous + induced,
         data=infert, family=binomial)
model_summary(list(glm1, glm2))  # "std_coef" is not applicable to glm
model_summary(list(glm1, glm2), file="GLM Models.doc")
unlink("GLM Models.doc")  # delete file for test

## Example 3: Linear Mixed Model
library(lmerTest)
hlm1=lmer(Reaction ~ (1 | Subject), data=sleepstudy)
hlm2=lmer(Reaction ~ Days + (1 | Subject), data=sleepstudy)
hlm3=lmer(Reaction ~ Days + (Days | Subject), data=sleepstudy)
model_summary(list(hlm1, hlm2, hlm3))
model_summary(list(hlm1, hlm2, hlm3), std=TRUE)
model_summary(list(hlm1, hlm2, hlm3), file="HLM Models.doc")
unlink("HLM Models.doc")  # delete file for test

## Example 4: Generalized Linear Mixed Model
library(lmerTest)
data.glmm=MASS::bacteria
glmm1=glmer(y ~ trt + week + (1 | ID), data=data.glmm, family=binomial)
glmm2=glmer(y ~ trt + week + hilo + (1 | ID), data=data.glmm, family=binomial)
model_summary(list(glmm1, glmm2))  # "std_coef" is not applicable to glmm
model_summary(list(glmm1, glmm2), file="GLMM Models.doc")
unlink("GLMM Models.doc")  # delete file for test

## Example 5: Multinomial Logistic Model
library(nnet)
d=airquality
d$Month=as.factor(d$Month)  # Factor levels: 5, 6, 7, 8, 9
mn1=multinom(Month ~ Temp, data=d, Hess=TRUE)
mn2=multinom(Month ~ Temp + Wind + Ozone, data=d, Hess=TRUE)
model_summary(mn1)
model_summary(mn2)
model_summary(mn2, file="Multinomial Logistic Model.doc")
unlink("Multinomial Logistic Model.doc")  # delete file for test
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab