Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 4
)
## ----setup, warning=FALSE, message=FALSE--------------------------------------
library(rms)
library(rmsMD)
## -----------------------------------------------------------------------------
# Load in the simulated data
data <- simulated_rmsMD_data()
# Set the datadist which is required for rms modelling
# (these two lines are standard)
dd <- datadist(data)
options(datadist='dd')
## -----------------------------------------------------------------------------
# Fit a linear regression model using the rms package:
fit_ols <- ols(lengthstay ~ age +
bmi +
sex +
smoking,
data = data)
# Generate a model summary and display it as a dataframe
modelsummary_rms(fit_ols)
# rmsMD dataframe as a table
knitr::kable(modelsummary_rms(fit_ols))
## -----------------------------------------------------------------------------
# Generate a model summary with custom styling options
# & store as summary_custom
summary_custom <- modelsummary_rms(fit_ols,
combine_ci = FALSE,
round_dp_coef = 2,
round_dp_p = 4)
# to display the dataframe as a table
knitr::kable(summary_custom)
## -----------------------------------------------------------------------------
# fitting the model
fit_lrm <- lrm(majorcomplication ~ age +
bmi +
sex +
smoking,
data = data)
# rmsMD summary
modelsummary_rms(fit_lrm)
# displaying as a table
knitr::kable(modelsummary_rms(fit_lrm))
## -----------------------------------------------------------------------------
# Fit a simple linear model using lm() from base R
# (an example model fit without using rms package)
fit_lm <- lm(majorcomplication ~ age +
bmi +
sex +
smoking,
data = data)
# Generate a model summary for the non-RMS model
# by explicitly setting exp_coef = FALSE
modelsummary_rms(fit_lm, exp_coef = FALSE)
# display rmsMD results as a table
knitr::kable(modelsummary_rms(fit_lm, exp_coef = FALSE))
## -----------------------------------------------------------------------------
# Fit a logistic regression model including a RCS for Age & BMI (with 4 knots)
fit_lrm <- lrm(
majorcomplication ~
rcs(age, 4) + # Age modelled using RCS with 4 knots
rcs(bmi, 4) + # BMI also modelled with RCS with 4 knots
sex + # Binary variable for sex
smoking, # Categorical variable for smoking status
data = data,
# set x = TRUE, y = TRUE to allow
# subsequent LR tests for lrm() and cph() models
x = TRUE, y = TRUE
)
# Generate an rmsMD model summary using default settings
modelsummary_rms(fit_lrm)
# Outputting this as a table
knitr::kable(modelsummary_rms(fit_lrm))
## -----------------------------------------------------------------------------
# Generate a model summary with rcs_overallp set to TRUE
# and hide_rcs_coef set to TRUE
modelsummary_rms(fit_lrm, hide_rcs_coef = FALSE)
# Outputting this as a table
knitr::kable(modelsummary_rms(fit_lrm, hide_rcs_coef = FALSE))
## -----------------------------------------------------------------------------
# Fit an OLS model including a restricted cubic spline for Age (with 4 knots)
summary_spline_hide <- modelsummary_rms(fit_lrm,
hide_rcs_coef = FALSE,
rcs_overallp = FALSE)
# Outputting this as a table
knitr::kable(summary_spline_hide)
## -----------------------------------------------------------------------------
# Fit an OLS model with a restricted cubic spline for Age
# and an interaction between Age and Exer.
fit_lrm_interaction <- lrm(majorcomplication ~
rcs(age,4)*smoking +
rcs(bmi,4) +
sex +
smoking,
data = data,
x = TRUE, y = TRUE)
# Generate a model summary with default RCS output
modelsummary_rms(fit_lrm_interaction)
# Format the output as a nice table
knitr::kable(modelsummary_rms(fit_lrm_interaction))
## -----------------------------------------------------------------------------
anova(fit_lrm_interaction, test = "LR")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.