Tidy a dagitty
object
Arguments
- .dagitty
a
dagitty
- seed
a numeric seed for reproducible layout generation
- layout
a layout available in
ggraph
. Seeggraph::create_layout()
for details. Alternatively,"time_ordered"
will usetime_ordered_coords()
to algorithmically sort the graph by time.- ...
optional arguments passed to
ggraph::create_layout()
Examples
library(dagitty)
library(ggplot2)
dag <- dagitty("dag {
Y <- X <- Z1 <- V -> Z2 -> Y
Z1 <- W1 <-> W2 -> Z2
X <- W1 -> Y
X <- W2 -> Y
X [exposure]
Y [outcome]
}")
tidy_dagitty(dag)
#> # A DAG with 7 nodes and 12 edges
#> #
#> # Exposure: X
#> # Outcome: Y
#> #
#> # A tibble: 13 × 8
#> name x y direction to xend yend circular
#> <chr> <dbl> <dbl> <fct> <chr> <dbl> <dbl> <lgl>
#> 1 V 2.34 -1.34 -> Z1 2.40 0.0749 FALSE
#> 2 V 2.34 -1.34 -> Z2 0.924 -1.33 FALSE
#> 3 W1 1.09 0.830 -> X 1.46 0.328 FALSE
#> 4 W1 1.09 0.830 -> Y 0.257 0.00275 FALSE
#> 5 W1 1.09 0.830 -> Z1 2.40 0.0749 FALSE
#> 6 W1 1.09 0.830 <-> W2 0.791 -0.335 FALSE
#> 7 W2 0.791 -0.335 -> X 1.46 0.328 FALSE
#> 8 W2 0.791 -0.335 -> Y 0.257 0.00275 FALSE
#> 9 W2 0.791 -0.335 -> Z2 0.924 -1.33 FALSE
#> 10 X 1.46 0.328 -> Y 0.257 0.00275 FALSE
#> 11 Y 0.257 0.00275 NA NA NA NA FALSE
#> 12 Z1 2.40 0.0749 -> X 1.46 0.328 FALSE
#> 13 Z2 0.924 -1.33 -> Y 0.257 0.00275 FALSE
tidy_dagitty(dag, layout = "fr") %>%
ggplot(aes(x = x, y = y, xend = xend, yend = yend)) +
geom_dag_node() +
geom_dag_text() +
geom_dag_edges() +
theme_dag()