# Add Labelled Brackets to Group Predictors in a Dot-and-Whisker Plot

### Description

`add_brackets`

draws brackets along the y-axis beyond the plotting area of a dot-and-whisker plot generated by `dwplot`

, useful for labelling groups of predictors

### Usage

1 | ```
add_brackets(p, brackets, face = "italic")
``` |

### Arguments

`p` |
A dot-and-whisker plot generated by |

`brackets` |
A list of brackets; each element of the list should be a character vector consisting of (1) a label for the bracket, (2) the name of the topmost variable to be enclosed by the bracket, and (3) the name of the bottommost variable to be enclosed by the bracket. |

`face` |
A typeface for the bracket labels; options are "plain", "bold", "italic", "oblique", and "bold.italic". |

### Value

The function returns a `gtable`

object, which are viewed with `grid.arrange`

.

To save, use `ggsave`

.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
library(broom)
library(dplyr)
data(mtcars)
m1 <- lm(mpg ~ wt + cyl + disp, data = mtcars)
m1_df <- broom::tidy(m1) # create data.frame of regression results
p <- dwplot(m1_df, include_intercept = TRUE) +
relabel_y_axis(c("Intercept", "Weight", "Cylinders", "Displacement")) +
theme_bw() + xlab("Coefficient") + ylab("") +
geom_vline(xintercept = 0, colour = "grey50", linetype = 2) +
theme(legend.position="none")
two_brackets <- list(c("Engine", "cyl", "disp"), c("Not Engine", "(Intercept)", "wt"))
g <- p %>% add_brackets(two_brackets)
grid.arrange(g) # to display
# to save (not run)
#ggsave(file = "plot.pdf", g)
``` |