Detects any colliders given a DAG.
node_collider tags colliders and ggdag_collider plots all
exogenous variables.
Usage
node_collider(.dag, as_factor = TRUE, ...)
ggdag_collider(
  .tdy_dag,
  ...,
  size = 1,
  edge_type = c("link_arc", "link", "arc", "diagonal"),
  node_size = 16,
  text_size = 3.88,
  label_size = text_size,
  text_col = "white",
  label_col = "black",
  edge_width = 0.6,
  edge_cap = 8,
  arrow_length = 5,
  use_edges = TRUE,
  use_nodes = TRUE,
  use_stylized = FALSE,
  use_text = TRUE,
  use_labels = FALSE,
  label_geom = geom_dag_label_repel,
  unified_legend = TRUE,
  text = NULL,
  label = NULL,
  node = deprecated(),
  stylized = deprecated()
)Arguments
- .dag
- A - tidy_dagittyor- dagittyobject
- as_factor
- Logical. Should the column be a factor? 
- ...
- additional arguments passed to - tidy_dagitty()
- .tdy_dag
- A - tidy_dagittyor- dagittyobject
- size
- A numeric value scaling the size of all elements in the DAG. This allows you to change the scale of the DAG without changing the proportions. 
- edge_type
- The type of edge, one of "link_arc", "link", "arc", "diagonal". 
- node_size
- The size of the nodes. 
- text_size
- The size of the text. 
- label_size
- The size of the labels. 
- text_col
- The color of the text. 
- label_col
- The color of the labels. 
- edge_width
- The width of the edges. 
- edge_cap
- The size of edge caps (the distance between the arrowheads and the node borders). 
- arrow_length
- The length of arrows on edges. 
- use_edges
- A logical value. Include a - geom_dag_edges*()function? If- TRUE, which is determined by- edge_type.
- use_nodes
- A logical value. Include - geom_dag_point()?
- use_stylized
- A logical value. Include - geom_dag_node()?
- use_text
- A logical value. Include - geom_dag_text()?
- use_labels
- A logical value. Include a label geom? The specific geom used is controlled by - label_geom.
- label_geom
- A geom function to use for drawing labels when - use_labels = TRUE. Default is- geom_dag_label_repel. Other options include- geom_dag_label,- geom_dag_text_repel,- geom_dag_label_repel2, and- geom_dag_text_repel2.
- unified_legend
- A logical value. When - TRUEand both- use_edgesand- use_nodesare- TRUE, creates a unified legend entry showing both nodes and edges in a single key, and hides the separate edge legend. This creates cleaner, more compact legends. Default is- TRUE.
- text
- The bare name of a column to use for - geom_dag_text(). If- use_text = TRUE, the default is to use- name.
- label
- The bare name of a column to use for labels. If - use_labels = TRUE, the default is to use- label.
- node
- Deprecated. 
- stylized
- Deprecated. 
Examples
dag <- dagify(m ~ x + y, y ~ x)
node_collider(dag)
#> # DAG:
#> # A `dagitty` DAG with: 3 nodes and 3 edges
#> #
#> # Data:
#> # A tibble: 4 × 8
#>   name       x      y direction to      xend    yend colliders   
#>   <chr>  <dbl>  <dbl> <fct>     <chr>  <dbl>   <dbl> <fct>       
#> 1 m     -0.153 0.0929 NA        NA    NA     NA      Collider    
#> 2 x     -0.374 1.07   ->        m     -0.153  0.0929 Non-Collider
#> 3 x     -0.374 1.07   ->        y     -1.11   0.388  Non-Collider
#> 4 y     -1.11  0.388  ->        m     -0.153  0.0929 Non-Collider
#> #
#> # ℹ Use `pull_dag() (`?pull_dag`)` to retrieve the DAG object and `pull_dag_data() (`?pull_dag_data`)` for the data frame
ggdag_collider(dag)
 
