--- title: "Prepare Forest Data with Helper Functions" output: rmarkdown::html_vignette: highlight: pygments vignette: > %\VignetteIndexEntry{Prepare Forest Data with Helper Functions} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 8, fig.height = 4.5 ) ``` ```{r setup} library(ggforestplotR) library(ggplot2) ``` This short article covers the two helper functions that prepare data before the plot is drawn. ## Use `as_forest_data()` to standardize a coefficient table `as_forest_data()` converts your column names into the internal structure used by `ggforestplotR`. The result contains the columns expected by `ggforestplot()`, `add_forest_table()`, and `add_split_table()`. ```{r as-forest-data} raw_coefs <- data.frame( variable = c("Age", "BMI", "Treatment"), beta = c(0.10, -0.08, 0.34), lower = c(0.02, -0.16, 0.12), upper = c(0.18, 0.00, 0.56), display = c("Age", "BMI", "Treatment"), section = c("Clinical", "Clinical", "Treatment"), sample_size = c(120, 115, 98), p_value = c(0.04, 0.15, 0.001) ) forest_ready <- as_forest_data( data = raw_coefs, term = "variable", estimate = "beta", conf.low = "lower", conf.high = "upper", label = "display", grouping = "section", n = "sample_size", p.value = "p_value" ) ``` Once the data are standardized, you can pass them straight into `ggforestplot()`. ```{r helper-to-plot} ggforestplot(forest_ready) ``` ## Use `tidy_forest_model()` for model objects If `broom` is available, `tidy_forest_model()` can pull coefficient estimates and confidence limits from a fitted model. ```{r tidy-model} fit <- lm(mpg ~ wt + hp + qsec, data = mtcars) model_ready <- tidy_forest_model(fit) ``` The returned object can be passed directly into `ggforestplot()`. ```{r helper-to-plot-model} ggforestplot(model_ready) ```