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 an OLS model including a restricted cubic spline
# for Age and 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
)
## -----------------------------------------------------------------------------
# most basic output
ggrmsMD(fit_lrm, data)
## -----------------------------------------------------------------------------
ggrmsMD(fit_lrm, data,
# custom y axis label
ylab = "Complications (adjusted OR)",
# set y axis limits so variables can be compared more easily
ylim = c(0,3)
)
## -----------------------------------------------------------------------------
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0,3),
# specifies that OR > 1 reflects poorer outcomes
# (e.g. higher OR complications) these will be highlighted in red
shade_inferior = "higher"
)
## -----------------------------------------------------------------------------
# to have the y axis on a log-scale:
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0.25,4),
shade_inferior = "higher",
log_y = TRUE, # have the y-axis on a log scale
log_y_breaks = c(0.25, 0.5 , 1, 2, 4) # optionally set the y-axis breaks
)
## -----------------------------------------------------------------------------
# to plot predicted probability rather than adjusted OR.
# This is adjusted to mode/mean of the other variables
ggrmsMD(fit_lrm, data,
ylim = c(0,0.4),
lrm_prob = TRUE # set this to plot predicted probability
)
## -----------------------------------------------------------------------------
xlabels <- list ("age" = "Age (years)",
"bmi" = "Body Mass Index")
xlimits <- list("age" = c(35,65))
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0,3),
shade_inferior = "higher",
xlabs = xlabels,
xlims = xlimits
)
## -----------------------------------------------------------------------------
xlabels <- list ("age" = "Age (years)",
"bmi" = "Body Mass Index")
titles <- list ("age" = "Impact of Age on Complications",
"bmi" = "Impact of BMI on Complications")
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0,3),
shade_inferior = "higher",
xlabs = xlabels,
titles = titles
)
## -----------------------------------------------------------------------------
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0,3),
shade_inferior = "higher",
xlabs = xlabels,
titles = titles,
log_x_vars = c("age", "bmi")
)
## -----------------------------------------------------------------------------
ggrmsMD(fit_lrm, data,
ylab = "Complications (adjusted OR)",
ylim = c(0,3),
shade_inferior = "higher",
var = "age"
)
## -----------------------------------------------------------------------------
fit_ols <- ols(
lengthstay ~
rcs(age, 4) +
rcs(bmi, 4) +
sex +
smoking,
data = data
)
ggrmsMD(fit_ols, data,
ylim = c(20,50),
ylab = "Predicted length of stay"
)
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.