View source: R/forestplotRegrObj.R
forestplotRegrObj | R Documentation |
Plot different model fits with similar variables in order to compare the model's estimates and confidence intervals. Each model is represented by a separate line on top of eachother and are therefore ideal for comparing different models. This extra appealing when you have lots of variables included in the models.
forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, ... ) ## Default S3 method: forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, ... ) ## S3 method for class 'coxph' forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, xlab = "Hazard Ratio", estimate.txt = "HR", xlog = TRUE, zero = 1, exp = TRUE, ... ) ## S3 method for class 'lrm' forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, xlab = "Odds ratio", estimate.txt = "HR", xlog = TRUE, zero = 1, exp = TRUE, ... ) ## S3 method for class 'lm' forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, xlab = "Effect", estimate.txt = "Coef", xlog = FALSE, zero = 0, exp = FALSE, ... ) ## S3 method for class 'glm' forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, xlab = NULL, xlog = NULL, zero = NULL, estimate.txt = NULL, exp = NULL, ... ) ## S3 method for class 'list' forestplotRegrObj( regr.obj, postprocess_estimates.fn = function(x) x, rowname = "Variable", ci.txt = "CI", ci.glue = "{lower} to {higher}", digits = 1, get_box_size = fpBoxSize, xlab = NULL, xlog = NULL, zero = NULL, estimate.txt = NULL, exp = NULL, ... ) fpBoxSize(p_values, variable_count, boxsize, significant = 0.05)
regr.obj |
A regression model object. It should be of coxph, crr or glm class. Warning: The glm is not fully tested. |
postprocess_estimates.fn |
A function that takes the regression outputs and returns the same data with modifications. The input columns are: * 'Rowname' * 'Coef' * 'Lower' * 'Upper' * 'Sort' |
rowname |
The name of the variables |
ci.txt |
The text above the confidence interval, defaults to '"CI"' |
ci.glue |
The string used for [glue::glue()] the 'lower' and 'higher' confidence intervals together. |
digits |
The number of digits to round presented values to |
get_box_size |
A function for extracting the box sizes |
... |
Passed to |
xlab |
x-axis label |
estimate.txt |
The text above the estimate, e.g. Est, HR |
xlog |
If TRUE, x-axis tick marks are to follow a logarithmic scale, e.g. for
logistic regression (OR), survival estimates (HR), Poisson regression etc.
Note: This is an intentional break with the original |
zero |
Indicates what is zero effect. For survival/logistic fits the zero is 1 while in most other cases it's 0. |
exp |
Report in exponential form. Default true since the function was built for use with survival models. |
p_values |
The p-values that will work as the foundation for the box size |
variable_count |
The number of variables |
boxsize |
The default box size |
significant |
Level of significance .05 |
Other forestplot wrappers:
forestplotCombineRegrObj()
org.par <- par("ask" = TRUE) library(tidyverse) # simulated data to test set.seed(102) cov <- tibble(ftime = rexp(200)) |> mutate(x1 = runif(n()), x2 = runif(n()), x3 = runif(n()), fstatus1 = if_else(x1 * 1 + x2 * 0.2 + x3 * 0.5 + runif(n()) * 0.5 > 1, 1, 0), fstatus2 = if_else(x1 * 0.2 + x2 * 0.5 + x3 * 0.1 + runif(n()) * 2 > 1, 1, 0)) |> # Add some column labels Gmisc::set_column_labels(x1 = "First variable", x2 = "Second variable") library(rms) dd <- datadist(cov) options(datadist = "dd") fit1 <- cph(Surv(ftime, fstatus1 == 1) ~ x1 + x2 + x3, data = cov) fit1 |> forestplotRegrObj() |> fp_set_zebra_style("#f0f0f0") fit2 <- update(fit1, Surv(ftime, fstatus2 == 1) ~ .) list("Frist model" = fit1, "Second model" = fit2) |> forestplotRegrObj(legend_args = fpLegend(title = "Type of regression"), postprocess_estimates.fn = function(x) { x |> filter(str_detect(column_term, "(x2|x3)")) }) |> fp_set_style(box = rep(c("darkblue", "darkred"), each = 3)) par(org.par)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.