Adjust for variables and activate any biasing paths that result

control_for(.tdy_dag, var, as_factor = TRUE, ...)

adjust_for(.tdy_dag, var, as_factor = TRUE, ...)

ggdag_adjust(.tdy_dag, var = NULL, ..., node_size = 16,
  text_size = 3.88, label_size = text_size, text_col = "white",
  label_col = text_col, node = TRUE, stylized = FALSE, text = TRUE,
  use_labels = NULL, collider_lines = TRUE)

Arguments

.tdy_dag

input graph, an object of class tidy_dagitty or dagitty

var

a character vector, the variable(s) to adjust for.

as_factor

logical. Should the adjusted column be a factor?

...

additional arguments passed to tidy_dagitty()

node_size

size of DAG node

text_size

size of DAG text

label_size

size of label text

text_col

color of DAG text

label_col

color of label text

node

logical. Should nodes be included in the DAG?

stylized

logical. Should DAG nodes be stylized? If so, use geom_dag_nodes and if not use geom_dag_point

text

logical. Should text be included in the DAG?

use_labels

a string. Variable to use for geom_dag_repel_label(). Default is NULL.

collider_lines

logical. Should the plot show paths activated by adjusting for a collider?

Value

a tidy_dagitty with a adjusted column for adjusted variables, as well as any biasing paths that arise, or a ggplot

Examples

dag <- dagify(m ~ a + b, x ~ a, y ~ b) control_for(dag, var = "m")
#> # A DAG with 5 nodes and 4 edges #> # #> # Paths opened by conditioning on a collider: a <-> b #> # #> # A tibble: 8 x 10 #> name x y direction to xend yend circular collider_line adjusted #> <chr> <dbl> <dbl> <fct> <chr> <dbl> <dbl> <lgl> <lgl> <fct> #> 1 a 8.43 11.2 -> m 8.31 9.79 FALSE FALSE unadjus… #> 2 a 8.43 11.2 -> x 8.56 12.5 FALSE FALSE unadjus… #> 3 b 8.20 8.36 -> m 8.31 9.79 FALSE FALSE unadjus… #> 4 b 8.20 8.36 -> y 8.12 7.11 FALSE FALSE unadjus… #> 5 m 8.31 9.79 <NA> <NA> NA NA FALSE FALSE adjusted #> 6 x 8.56 12.5 <NA> <NA> NA NA FALSE FALSE unadjus… #> 7 y 8.12 7.11 <NA> <NA> NA NA FALSE FALSE unadjus… #> 8 a 8.43 11.2 <-> b 8.20 8.36 NA TRUE unadjus…
ggdag_adjust(dag, var = "m")