Codes used in models^[See childRmd/_21models.Rmd
file for other codes]
Use these descriptions to add autoreporting of new models
generate automatic reporting of model via easystats/report 📦
library(report) model <- lm(Sepal.Length ~ Species, data = iris) report::report(model)
Table report for a linear model
# Table report for a linear model lm(Sepal.Length ~ Petal.Length + Species, data=iris) %>% report::report() %>% report::to_table() %>% kableExtra::kable()
model <- lm(Sepal.Length ~ Petal.Length + Species, data=iris) r <- report(model) to_text(r) to_table(r)
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/glm.html
model <- glm(vs ~ mpg + cyl, data=mtcars, family="binomial") r <- report(model) to_fulltext(r) to_fulltable(r)
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = 'mort_5yr' colon_s %>% summarizer(dependent, explanatory)
Where a multivariable model contains a subset of the variables specified in the full univariable set, this can be specified. explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory.multi = c("age.factor", "obstruct.factor") dependent = 'mort_5yr' colon_s %>% summarizer(dependent, explanatory, explanatory.multi) Random effects. e.g. lme4::glmer(dependent ~ explanatory + (1 | random_effect), family="binomial") explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory.multi = c("age.factor", "obstruct.factor") random.effect = "hospital" dependent = 'mort_5yr' colon_s %>% summarizer(dependent, explanatory, explanatory.multi, random.effect) metrics=TRUE provides common model metrics. colon_s %>% summarizer(dependent, explanatory, explanatory.multi, metrics=TRUE) Cox proportional hazards e.g. survival::coxph(dependent ~ explanatory) explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = "Surv(time, status)" colon_s %>% summarizer(dependent, explanatory) Rather than going all-in-one, any number of subset models can be manually added on to a summary.factorlist() table using summarizer.merge(). This is particularly useful when models take a long-time to run or are complicated. Note requirement for glm.id=TRUE. fit2df is a subfunction extracting most common models to a dataframe. explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory.multi = c("age.factor", "obstruct.factor") random.effect = "hospital" dependent = 'mort_5yr' # Separate tables colon_s %>% summary.factorlist(dependent, explanatory, glm.id=TRUE) -> example.summary colon_s %>% glmuni(dependent, explanatory) %>% fit2df(estimate.suffix=" (univariable)") -> example.univariable colon_s %>% glmmulti(dependent, explanatory) %>% fit2df(estimate.suffix=" (multivariable)") -> example.multivariable colon_s %>% glmmixed(dependent, explanatory, random.effect) %>% fit2df(estimate.suffix=" (multilevel") -> example.multilevel # Pipe together example.summary %>% summarizer.merge(example.univariable) %>% summarizer.merge(example.multivariable) %>% summarizer.merge(example.multilevel) %>% select(-c(glm.id, index)) -> example.final example.final Cox Proportional Hazards example with separate tables merged together. explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory.multi = c("age.factor", "obstruct.factor") dependent = "Surv(time, status)" # Separate tables colon_s %>% summary.factorlist(dependent, explanatory, glm.id=TRUE) -> example2.summary colon_s %>% coxphuni(dependent, explanatory) %>% fit2df(estimate.suffix=" (univariable)") -> example2.univariable colon_s %>% coxphmulti(dependent, explanatory.multi) %>% fit2df(estimate.suffix=" (multivariable)") -> example2.multivariable # Pipe together example2.summary %>% summarizer.merge(example2.univariable) %>% summarizer.merge(example2.multivariable) %>% select(-c(glm.id, index)) -> example2.final example2.final # OR plot explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = 'mort_5yr' colon_s %>% or.plot(dependent, explanatory) # Previously fitted models (`glmmulti()` or `glmmixed()`) can be provided directly to `glmfit` # HR plot (not fully tested) explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = "Surv(time, status)" colon_s %>% hr.plot(dependent, explanatory, dependent_label = "Survival") # Previously fitted models (`coxphmulti`) can be provided directly using `coxfit`
num_cat <- dlookr::relate(num, ShelveLoc) num_cat summary(num_cat) plot(num_cat)
# Full report for a Bayesian logistic mixed model with effect sizes library(rstanarm) stan_glmer(vs ~ mpg + (1|cyl), data=mtcars, family="binomial") %>% report(standardize="smart", effsize="cohen1988") %>% to_fulltext()
https://github.com/lme4/lme4/
Test if your model is a good model
https://easystats.github.io/performance/
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.