See dagitty::adjustmentSets() for details.

dag_adjustment_sets(.tdy_dag, exposure = NULL, outcome = NULL, ...)

ggdag_adjustment_set(.tdy_dag, exposure = NULL, outcome = NULL, ...,
  shadow = FALSE, 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,
  expand_x = expand_scale(c(0.25, 0.25)),
  expand_y = expand_scale(c(0.2, 0.2)))

Arguments

.tdy_dag

input graph, an object of class tidy_dagitty or dagitty

exposure

a character vector, the exposure variable. Default is NULL, in which case it will be determined from the DAG.

outcome

a character vector, the outcome variable. Default is NULL, in which case it will be determined from the DAG.

...

additional arguments to adjustmentSets

shadow

logical. Show paths blocked by adjustment?

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.

expand_x, expand_y

Vector of range expansion constants used to add some padding around the data, to ensure that they are placed some distance away from the axes. Use the convenience function expand_scale() to generate the values for the expand argument.

Value

a tidy_dagitty with an adjusted column and set column, indicating adjustment status and DAG ID, respectively, for the adjustment sets or a ggplot

Examples

dag <- dagify(y ~ x + z2 + w2 + w1, x ~ z1 + w1, z1 ~ w1 + v, z2 ~ w2 + v, w1 ~~ w2, exposure = "x", outcome = "y") tidy_dagitty(dag) %>% dag_adjustment_sets()
#> # A DAG with 7 nodes and 33 edges #> # #> # Exposure: x #> # Outcome: y #> # #> # A tibble: 36 x 10 #> name x y direction to xend yend circular adjusted set #> <chr> <dbl> <dbl> <fct> <chr> <dbl> <dbl> <lgl> <chr> <chr> #> 1 v 7.21 14.3 -> z1 6.29 15.4 FALSE unadjusted {w1, w2, … #> 2 v 7.21 14.3 -> z2 6.20 13.4 FALSE unadjusted {w1, w2, … #> 3 w1 4.94 14.9 -> x 5.25 15.7 FALSE adjusted {w1, w2, … #> 4 w1 4.94 14.9 -> y 5.32 14.2 FALSE adjusted {w1, w2, … #> 5 w1 4.94 14.9 -> z1 6.29 15.4 FALSE adjusted {w1, w2, … #> 6 w1 4.94 14.9 <-> w2 4.92 13.4 FALSE adjusted {w1, w2, … #> 7 w2 4.92 13.4 -> y 5.32 14.2 FALSE adjusted {w1, w2, … #> 8 w2 4.92 13.4 -> z2 6.20 13.4 FALSE adjusted {w1, w2, … #> 9 x 5.25 15.7 -> y 5.32 14.2 FALSE unadjusted {w1, w2, … #> 10 z1 6.29 15.4 -> x 5.25 15.7 FALSE unadjusted {w1, w2, … #> # ... with 26 more rows
ggdag_adjustment_set(dag)
ggdag_adjustment_set(dagitty::randomDAG(10, .5), exposure = "x3", outcome = "x5")