# Prepare Forest Data with Helper Functions

    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()`.

    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()`.

    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.

    fit <- lm(mpg ~ wt + hp + qsec, data = mtcars)

    model_ready <- tidy_forest_model(fit)

The returned object can be passed directly into `ggforestplot()`.

    ggforestplot(model_ready)