{
  "_id": "6a1efceeb401979e734198e4",
  "Package": "ggdag",
  "Title": "Analyze and Create Elegant Directed Acyclic Graphs",
  "Version": "0.2.13.9000",
  "Authors@R": "person(\"Malcolm\", \"Barrett\", , \"malcolmbarrett@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-0299-5825\"))",
  "Description": "Tidy, analyze, and plot directed acyclic graphs (DAGs).\n'ggdag' is built on top of 'dagitty', an R package that uses\nthe 'DAGitty' web tool (<https://dagitty.net/>) for creating\nand analyzing DAGs. 'ggdag' makes it easy to tidy and plot\n'dagitty' objects using 'ggplot2' and 'ggraph', as well as\ncommon analytic and graphical functions, such as determining\nadjustment sets and node relationships.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/r-causal/ggdag,\nhttps://r-causal.github.io/ggdag/",
  "BugReports": "https://github.com/r-causal/ggdag/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/parallel": "true",
  "Remotes": [
    "teunbrand/ggarrow"
  ],
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libglpk-dev\nlibicu-dev libxml2-dev libssl-dev libnode-dev",
  "Repository": "https://r-causal.r-universe.dev",
  "Date/Publication": "2026-03-17 20:33:14 UTC",
  "RemoteUrl": "https://github.com/r-causal/ggdag",
  "RemoteRef": "HEAD",
  "RemoteSha": "71997d874337e74eef3f55918b9ac535426f7c4a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-18 10:02:03 UTC",
    "User": "root"
  },
  "Author": "Malcolm Barrett [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-0299-5825>)",
  "Maintainer": "Malcolm Barrett <malcolmbarrett@gmail.com>",
  "MD5sum": "eb72bbf4d23142f8355948c40d1912b6",
  "_user": "r-causal",
  "_type": "src",
  "_file": "ggdag_0.2.13.9000.tar.gz",
  "_fileid": "8132a24d840f2cfadd71f434267f6a2592715c5df72936c2860da580c904a496",
  "_filesize": 4275477,
  "_sha256": "8132a24d840f2cfadd71f434267f6a2592715c5df72936c2860da580c904a496",
  "_created": "2026-05-18T10:02:03.000Z",
  "_published": "2026-06-02T15:55:26.700Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79113809003,
      "time": 326,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7054956820"
    },
    {
      "job": 79113808865,
      "time": 298,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7054947428"
    },
    {
      "job": 79113809339,
      "time": 262,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7054935671"
    },
    {
      "job": 79113809081,
      "time": 272,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7054938376"
    },
    {
      "job": 79113810247,
      "time": 240,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7054847215"
    },
    {
      "job": 79113808233,
      "time": 126,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7362951664"
    },
    {
      "job": 79113809099,
      "time": 328,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7054958314"
    },
    {
      "job": 79113809940,
      "time": 367,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7054970171"
    },
    {
      "job": 79113808933,
      "time": 402,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7054981701"
    }
  ],
  "_buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/r-causal/ggdag",
  "_commit": {
    "id": "71997d874337e74eef3f55918b9ac535426f7c4a",
    "author": "Malcolm Barrett <malcolmbarrett@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #235 from r-causal/curves_and_glyphs\n\nfix ggarrow engine for more complex quick plotters",
    "time": 1773779594
  },
  "_maintainer": {
    "name": "Malcolm Barrett",
    "email": "malcolmbarrett@gmail.com",
    "login": "malcolmbarrett",
    "mastodon": "@malcolmbarrett@mstdn.jp",
    "bluesky": "@malcolmbarrett.malco.io",
    "orcid": "0000-0003-0299-5825",
    "description": "Open-source data science. Ph.D. in Epidemiology",
    "uuid": 23123711
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "dagitty",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "ggarrow",
      "version": ">= 0.1.1.9000",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "ggraph",
      "version": ">= 2.0.0",
      "role": "Imports"
    },
    {
      "package": "ggrepel",
      "version": ">= 0.9.7",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "version": ">= 0.2.0",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "pillar",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidygraph",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "version": ">= 1.0.2",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "r-causal",
  "_selfowned": true,
  "_usedby": 10,
  "_updates": [
    {
      "week": "2025-32",
      "n": 8
    },
    {
      "week": "2025-33",
      "n": 8
    },
    {
      "week": "2025-34",
      "n": 11
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-11",
      "n": 11
    },
    {
      "week": "2026-12",
      "n": 3
    }
  ],
  "_tags": [],
  "_topics": [
    "causal-inference",
    "dag",
    "ggplot-extension"
  ],
  "_stars": 464,
  "_contributors": [
    {
      "user": "malcolmbarrett",
      "count": 648,
      "uuid": 23123711
    },
    {
      "user": "copilot",
      "count": 12,
      "uuid": 198982749
    },
    {
      "user": "pgcudahy",
      "count": 5,
      "uuid": 5791816
    },
    {
      "user": "teunbrand",
      "count": 3,
      "uuid": 49372158
    },
    {
      "user": "henningte",
      "count": 3,
      "uuid": 34153309
    }
  ],
  "_userbio": {
    "uuid": 129535100,
    "type": "organization",
    "name": "Causal Inference in R",
    "description": "Tools and educational material for causal inference in R"
  },
  "_downloads": {
    "count": 9666,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggdag"
  },
  "_devurl": "https://github.com/r-causal/ggdag",
  "_pkgdown": "https://r-causal.github.io/ggdag/",
  "_searchresults": 2664,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggdag.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/r-causal/ggdag",
  "_realowner": "r-causal",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2018-03-28"
    },
    {
      "version": "0.2.0",
      "date": "2019-09-12"
    },
    {
      "version": "0.2.1",
      "date": "2019-12-06"
    },
    {
      "version": "0.2.2",
      "date": "2020-02-13"
    },
    {
      "version": "0.2.3",
      "date": "2021-01-12"
    },
    {
      "version": "0.2.4",
      "date": "2021-10-10"
    },
    {
      "version": "0.2.5",
      "date": "2022-07-16"
    },
    {
      "version": "0.2.6",
      "date": "2022-08-26"
    },
    {
      "version": "0.2.7",
      "date": "2022-10-29"
    },
    {
      "version": "0.2.8",
      "date": "2023-03-17"
    },
    {
      "version": "0.2.9",
      "date": "2023-05-22"
    },
    {
      "version": "0.2.10",
      "date": "2023-05-29"
    },
    {
      "version": "0.2.11",
      "date": "2024-01-24"
    },
    {
      "version": "0.2.12",
      "date": "2024-03-08"
    },
    {
      "version": "0.2.13",
      "date": "2024-07-22"
    }
  ],
  "_exports": [
    "%>%",
    "activate_collider_paths",
    "adjust_for",
    "aes_dag",
    "arrange_.tidy_dagitty",
    "as_tidy_dagitty",
    "as.tbl.tidy_dagitty",
    "butterfly_bias",
    "collider_triangle",
    "confounder_triangle",
    "control_for",
    "coords2df",
    "coords2list",
    "curve_edge",
    "curved",
    "dag",
    "dag_adjustment_sets",
    "dag_label",
    "dag_paths",
    "dag_prune",
    "dag_saturate",
    "dagify",
    "draw_key_dag_collider",
    "draw_key_dag_combined",
    "draw_key_dag_edge",
    "draw_key_dag_point",
    "edge_backdoor",
    "expand_plot",
    "filter",
    "filter_.tidy_dagitty",
    "geom_dag",
    "geom_dag_arrow",
    "geom_dag_arrow_arc",
    "geom_dag_arrows",
    "geom_dag_collider_edges",
    "geom_dag_edges",
    "geom_dag_edges_arc",
    "geom_dag_edges_diagonal",
    "geom_dag_edges_fan",
    "geom_dag_edges_link",
    "geom_dag_label",
    "geom_dag_label_repel",
    "geom_dag_label_repel2",
    "geom_dag_node",
    "geom_dag_point",
    "geom_dag_text",
    "geom_dag_text_repel",
    "geom_dag_text_repel2",
    "ggdag",
    "ggdag_adjacent",
    "ggdag_adjust",
    "ggdag_adjustment_set",
    "ggdag_ancestors",
    "ggdag_butterfly_bias",
    "ggdag_canonical",
    "ggdag_children",
    "ggdag_classic",
    "ggdag_collider",
    "ggdag_collider_triangle",
    "ggdag_conditional_independence",
    "ggdag_confounder_triangle",
    "ggdag_dconnected",
    "ggdag_defaults",
    "ggdag_descendants",
    "ggdag_drelationship",
    "ggdag_dseparated",
    "ggdag_equivalent_class",
    "ggdag_equivalent_dags",
    "ggdag_exogenous",
    "ggdag_instrumental",
    "ggdag_m_bias",
    "ggdag_markov_blanket",
    "ggdag_mediation_triangle",
    "ggdag_option",
    "ggdag_option_proportional",
    "ggdag_options_get",
    "ggdag_options_reset",
    "ggdag_options_set",
    "ggdag_parents",
    "ggdag_paths",
    "ggdag_paths_fan",
    "ggdag_quartet_collider",
    "ggdag_quartet_confounder",
    "ggdag_quartet_m_bias",
    "ggdag_quartet_mediator",
    "ggdag_quartet_time_collider",
    "ggdag_status",
    "has_labels",
    "is_acyclic",
    "is_adjacent",
    "is_adjustment_set",
    "is_ancestor",
    "is_child",
    "is_collider",
    "is_confounder",
    "is_d_connected",
    "is_d_separated",
    "is_descendant",
    "is_downstream_collider",
    "is_exogenous",
    "is_exposure",
    "is_instrumental",
    "is_latent",
    "is_outcome",
    "is_parent",
    "is.tidy_dagitty",
    "label",
    "label<-",
    "m_bias",
    "mediation_triangle",
    "mutate_.tidy_dagitty",
    "node_adjacent",
    "node_ancestors",
    "node_canonical",
    "node_children",
    "node_collider",
    "node_dconnected",
    "node_descendants",
    "node_drelationship",
    "node_dseparated",
    "node_equivalent_class",
    "node_equivalent_dags",
    "node_exogenous",
    "node_instrumental",
    "node_markov_blanket",
    "node_parents",
    "node_status",
    "pull_dag",
    "pull_dag_data",
    "quartet_collider",
    "quartet_confounder",
    "quartet_m_bias",
    "quartet_mediator",
    "quartet_time_collider",
    "query_adjustment_sets",
    "query_ancestors",
    "query_children",
    "query_colliders",
    "query_conditional_independence",
    "query_dconnected",
    "query_descendants",
    "query_dseparated",
    "query_exogenous",
    "query_instrumental",
    "query_markov_blanket",
    "query_parents",
    "query_paths",
    "query_status",
    "remove_axes",
    "remove_grid",
    "scale_adjusted",
    "scale_dag",
    "select_.tidy_dagitty",
    "set_curve_edges",
    "simulate_data",
    "slice_.tidy_dagitty",
    "summarise_.tidy_dagitty",
    "tbl_df.tidy_dagitty",
    "test_conditional_independence",
    "theme_dag",
    "theme_dag_blank",
    "theme_dag_gray",
    "theme_dag_gray_grid",
    "theme_dag_grey",
    "theme_dag_grey_grid",
    "theme_dag_grid",
    "tidy_dagitty",
    "time_ordered_coords",
    "update_dag",
    "update_dag_data<-",
    "update_dag<-"
  ],
  "_help": [
    {
      "page": "activate_collider_paths",
      "title": "Activate paths opened by stratifying on a collider",
      "topics": [
        "activate_collider_paths"
      ]
    },
    {
      "page": "control_for",
      "title": "Adjust for variables and activate any biasing paths that result",
      "topics": [
        "Adjust for variables",
        "adjust_for",
        "control_for",
        "ggdag_adjust"
      ]
    },
    {
      "page": "aes_dag",
      "title": "Define Aesthetics for Directed Acyclic Graphs (DAGs)",
      "topics": [
        "aes_dag"
      ]
    },
    {
      "page": "as_tbl_graph",
      "title": "Convert DAGS to tidygraph",
      "topics": [
        "as_tbl_graph",
        "as_tbl_graph.dagitty",
        "as_tbl_graph.tidy_dagitty"
      ]
    },
    {
      "page": "as_tidy_dagitty",
      "title": "Convert objects into 'tidy_dagitty' objects",
      "topics": [
        "as_tidy_dagitty",
        "as_tidy_dagitty.dagitty",
        "as_tidy_dagitty.data.frame",
        "as_tidy_dagitty.list"
      ]
    },
    {
      "page": "as.data.frame.tidy_dagitty",
      "title": "Convert a 'tidy_dagitty' object to data.frame",
      "topics": [
        "as.data.frame.tidy_dagitty"
      ]
    },
    {
      "page": "as.tbl.tidy_dagitty",
      "title": "Convert a 'tidy_dagitty' object to tbl",
      "topics": [
        "as.tbl.tidy_dagitty",
        "as_tibble.tidy_dagitty"
      ]
    },
    {
      "page": "d_relationship",
      "title": "D-relationship between variables",
      "topics": [
        "Assess d-separation between variables",
        "ggdag_dconnected",
        "ggdag_drelationship",
        "ggdag_dseparated",
        "node_dconnected",
        "node_drelationship",
        "node_dseparated"
      ]
    },
    {
      "page": "variable_family",
      "title": "Familial relationships between variables",
      "topics": [
        "Assess familial relationships between variables",
        "ggdag_adjacent",
        "ggdag_ancestors",
        "ggdag_children",
        "ggdag_descendants",
        "ggdag_markov_blanket",
        "ggdag_parents",
        "node_adjacent",
        "node_ancestors",
        "node_children",
        "node_descendants",
        "node_markov_blanket",
        "node_parents"
      ]
    },
    {
      "page": "canonicalize",
      "title": "Canonicalize a DAG",
      "topics": [
        "Canonicalize DAGs",
        "ggdag_canonical",
        "node_canonical"
      ]
    },
    {
      "page": "colliders",
      "title": "Find colliders",
      "topics": [
        "Colliders",
        "ggdag_collider",
        "node_collider"
      ]
    },
    {
      "page": "coordinates",
      "title": "Manipulate DAG coordinates",
      "topics": [
        "coordinates",
        "coords2df",
        "coords2list"
      ]
    },
    {
      "page": "adjustment_sets",
      "title": "Covariate Adjustment Sets",
      "topics": [
        "Covariate Adjustment Sets",
        "dag_adjustment_sets",
        "ggdag_adjustment_set"
      ]
    },
    {
      "page": "curve_edge",
      "title": "Add or update curvature for a single edge",
      "topics": [
        "curve_edge"
      ]
    },
    {
      "page": "curved",
      "title": "Mark an edge as curved in dagify formulas",
      "topics": [
        "curved"
      ]
    },
    {
      "page": "dag",
      "title": "Create a dagitty DAG",
      "topics": [
        "dag"
      ]
    },
    {
      "page": "geom_dag_edge_functions",
      "title": "Directed DAG edges",
      "topics": [
        "DAG Edges",
        "geom_dag_edges_arc",
        "geom_dag_edges_diagonal",
        "geom_dag_edges_fan",
        "geom_dag_edges_link"
      ]
    },
    {
      "page": "label",
      "title": "DAG labels",
      "topics": [
        "DAG Labels",
        "dag_label",
        "has_labels",
        "label",
        "label<-",
        "label<-.dagitty",
        "label<-.tidy_dagitty"
      ]
    },
    {
      "page": "dag_saturate",
      "title": "Saturate or prune an existing DAG",
      "topics": [
        "dag_prune",
        "dag_saturate"
      ]
    },
    {
      "page": "dagify",
      "title": "Create a dagitty DAG using R-like syntax",
      "topics": [
        "dagify"
      ]
    },
    {
      "page": "dplyr",
      "title": "Dplyr verb methods for 'tidy_dagitty' objects",
      "topics": [
        "anti_join.tidy_dagitty",
        "arrange.tidy_dagitty",
        "arrange_.tidy_dagitty",
        "distinct.tidy_dagitty",
        "dplyr",
        "filter.tidy_dagitty",
        "filter_.tidy_dagitty",
        "full_join.tidy_dagitty",
        "group_by.tidy_dagitty",
        "inner_join.tidy_dagitty",
        "left_join.tidy_dagitty",
        "mutate.tidy_dagitty",
        "mutate_.tidy_dagitty",
        "right_join.tidy_dagitty",
        "select.tidy_dagitty",
        "select_.tidy_dagitty",
        "semi_join.tidy_dagitty",
        "slice.tidy_dagitty",
        "slice_.tidy_dagitty",
        "summarise.tidy_dagitty",
        "summarise_.tidy_dagitty",
        "transmute.tidy_dagitty",
        "ungroup.tidy_dagitty"
      ]
    },
    {
      "page": "draw_key_dag_collider",
      "title": "Collider pattern legend key (many-to-one)",
      "topics": [
        "draw_key_dag_collider"
      ]
    },
    {
      "page": "draw_key_dag_combined",
      "title": "Combined DAG legend key (horizontal node-edge-node)",
      "topics": [
        "draw_key_dag_combined"
      ]
    },
    {
      "page": "draw_key_dag_edge",
      "title": "DAG edge legend key (arrow only)",
      "topics": [
        "draw_key_dag_edge"
      ]
    },
    {
      "page": "draw_key_dag_point",
      "title": "DAG point legend key (25% size)",
      "topics": [
        "draw_key_dag_point"
      ]
    },
    {
      "page": "edge_backdoor",
      "title": "Classify DAG edges as backdoor or direct",
      "topics": [
        "edge_backdoor"
      ]
    },
    {
      "page": "equivalent",
      "title": "Generating Equivalent Models",
      "topics": [
        "Equivalent DAGs and Classes",
        "ggdag_equivalent_class",
        "ggdag_equivalent_dags",
        "node_equivalent_class",
        "node_equivalent_dags"
      ]
    },
    {
      "page": "exogenous",
      "title": "Find Exogenous Variables",
      "topics": [
        "Exogenous Variables",
        "ggdag_exogenous",
        "node_exogenous"
      ]
    },
    {
      "page": "expand_plot",
      "title": "Quickly scale the size of a ggplot",
      "topics": [
        "expand_plot"
      ]
    },
    {
      "page": "fortify",
      "title": "Fortify a 'tidy_dagitty' object for 'ggplot2'",
      "topics": [
        "fortify",
        "fortify.dagitty",
        "fortify.tidy_dagitty"
      ]
    },
    {
      "page": "geom_dag",
      "title": "Add common DAG layers to a ggplot",
      "topics": [
        "geom_dag"
      ]
    },
    {
      "page": "geom_dag_arrow",
      "title": "Directed DAG edges using ggarrow",
      "topics": [
        "geom_dag_arrow",
        "geom_dag_arrows",
        "geom_dag_arrow_arc"
      ]
    },
    {
      "page": "geom_dag_collider_edges",
      "title": "Edges for paths activated by stratification on colliders",
      "topics": [
        "geom_dag_collider_edges"
      ]
    },
    {
      "page": "geom_dag_edges",
      "title": "Directed and bidirected DAG edges",
      "topics": [
        "geom_dag_edges"
      ]
    },
    {
      "page": "geom_dag_label",
      "title": "Node text labels",
      "topics": [
        "geom_dag_label"
      ]
    },
    {
      "page": "geom_dag_text",
      "title": "Node text",
      "topics": [
        "geom_dag_text"
      ]
    },
    {
      "page": "ggdag",
      "title": "Quickly plot a DAG in ggplot2",
      "topics": [
        "ggdag"
      ]
    },
    {
      "page": "ggdag_classic",
      "title": "Quickly plot a DAG in ggplot2",
      "topics": [
        "ggdag_classic"
      ]
    },
    {
      "page": "ggdag_options",
      "title": "Global DAG Options",
      "topics": [
        "ggdag_defaults",
        "ggdag_option",
        "ggdag_options_get",
        "ggdag_options_reset",
        "ggdag_options_set",
        "ggdag_option_proportional"
      ]
    },
    {
      "page": "ggplot.tidy_dagitty",
      "title": "Create a new ggplot",
      "topics": [
        "ggplot.dagitty",
        "ggplot.tidy_dagitty"
      ]
    },
    {
      "page": "repel",
      "title": "Repulsive textual annotations",
      "topics": [
        "geom_dag_label_repel",
        "geom_dag_label_repel2",
        "geom_dag_text_repel",
        "geom_dag_text_repel2",
        "ggrepel functions"
      ]
    },
    {
      "page": "instrumental",
      "title": "Find Instrumental Variables",
      "topics": [
        "ggdag_instrumental",
        "Instrumental Variables",
        "node_instrumental"
      ]
    },
    {
      "page": "is_confounder",
      "title": "Assess if a variable confounds a relationship",
      "topics": [
        "is_confounder"
      ]
    },
    {
      "page": "is_dag_properties",
      "title": "Test DAG properties",
      "topics": [
        "is_acyclic",
        "is_adjustment_set",
        "is_dag_properties",
        "is_d_connected",
        "is_d_separated"
      ]
    },
    {
      "page": "is_node_properties",
      "title": "Test node properties",
      "topics": [
        "is_exogenous",
        "is_exposure",
        "is_instrumental",
        "is_latent",
        "is_node_properties",
        "is_outcome"
      ]
    },
    {
      "page": "is_node_relationships",
      "title": "Test node relationships",
      "topics": [
        "is_adjacent",
        "is_ancestor",
        "is_child",
        "is_descendant",
        "is_node_relationships",
        "is_parent"
      ]
    },
    {
      "page": "is.tidy_dagitty",
      "title": "Test for object class for tidy_dagitty",
      "topics": [
        "is.tidy_dagitty"
      ]
    },
    {
      "page": "node_point",
      "title": "DAG Nodes",
      "topics": [
        "geom_dag_node",
        "geom_dag_point",
        "Nodes"
      ]
    },
    {
      "page": "paths",
      "title": "Find Open Paths Between Variables",
      "topics": [
        "dag_paths",
        "ggdag_paths",
        "ggdag_paths_fan",
        "Pathways"
      ]
    },
    {
      "page": "print.tidy_dagitty",
      "title": "Print a 'tidy_dagitty'",
      "topics": [
        "print.tidy_dagitty"
      ]
    },
    {
      "page": "pull_dag",
      "title": "Pull components from DAG objects",
      "topics": [
        "pull_dag",
        "pull_dag.dagitty",
        "pull_dag.tidy_dagitty",
        "pull_dag_data",
        "pull_dag_data.dagitty",
        "pull_dag_data.tidy_dagitty",
        "update_dag",
        "update_dag.tidy_dagitty",
        "update_dag<-",
        "update_dag<-.tidy_dagitty",
        "update_dag_data<-",
        "update_dag_data<-.tidy_dagitty"
      ]
    },
    {
      "page": "query_adjustment_sets",
      "title": "Query Adjustment Sets",
      "topics": [
        "query_adjustment_sets"
      ]
    },
    {
      "page": "query_ancestors",
      "title": "Query Node Ancestors",
      "topics": [
        "query_ancestors"
      ]
    },
    {
      "page": "query_children",
      "title": "Query Node Children",
      "topics": [
        "query_children"
      ]
    },
    {
      "page": "query_colliders",
      "title": "Query Collider Nodes",
      "topics": [
        "query_colliders"
      ]
    },
    {
      "page": "query_conditional_independence",
      "title": "Query and Test Conditional Independence in a DAG",
      "topics": [
        "ggdag_conditional_independence",
        "query_conditional_independence",
        "test_conditional_independence"
      ]
    },
    {
      "page": "query_dconnected",
      "title": "Query D-connection",
      "topics": [
        "query_dconnected"
      ]
    },
    {
      "page": "query_descendants",
      "title": "Query Node Descendants",
      "topics": [
        "query_descendants"
      ]
    },
    {
      "page": "query_dseparated",
      "title": "Query D-separation",
      "topics": [
        "query_dseparated"
      ]
    },
    {
      "page": "query_exogenous",
      "title": "Query Exogenous Variables",
      "topics": [
        "query_exogenous"
      ]
    },
    {
      "page": "query_instrumental",
      "title": "Query Instrumental Variables",
      "topics": [
        "query_instrumental"
      ]
    },
    {
      "page": "query_markov_blanket",
      "title": "Query Markov Blanket",
      "topics": [
        "query_markov_blanket"
      ]
    },
    {
      "page": "query_parents",
      "title": "Query Node Parents",
      "topics": [
        "query_parents"
      ]
    },
    {
      "page": "query_paths",
      "title": "Query Paths in a DAG",
      "topics": [
        "query_paths"
      ]
    },
    {
      "page": "query_status",
      "title": "Query Variable Status",
      "topics": [
        "query_status"
      ]
    },
    {
      "page": "quick_plot",
      "title": "Quickly create a DAGs with common structures of bias",
      "topics": [
        "butterfly_bias",
        "collider_triangle",
        "confounder_triangle",
        "ggdag_butterfly_bias",
        "ggdag_collider_triangle",
        "ggdag_confounder_triangle",
        "ggdag_mediation_triangle",
        "ggdag_m_bias",
        "ggdag_quartet_collider",
        "ggdag_quartet_confounder",
        "ggdag_quartet_mediator",
        "ggdag_quartet_m_bias",
        "ggdag_quartet_time_collider",
        "mediation_triangle",
        "m_bias",
        "quartet_collider",
        "quartet_confounder",
        "quartet_mediator",
        "quartet_m_bias",
        "quartet_time_collider",
        "Quick Plots for Common DAGs"
      ]
    },
    {
      "page": "remove_axes",
      "title": "Quickly remove plot axes and grids",
      "topics": [
        "remove_axes",
        "remove_grid"
      ]
    },
    {
      "page": "scale_adjusted",
      "title": "Common scale adjustments for DAGs",
      "topics": [
        "scale_adjusted",
        "scale_dag"
      ]
    },
    {
      "page": "set_curve_edges",
      "title": "Set curvature for multiple edges at once",
      "topics": [
        "set_curve_edges"
      ]
    },
    {
      "page": "simulate_data",
      "title": "Simulate Data from Structural Equation Model",
      "topics": [
        "simulate_data"
      ]
    },
    {
      "page": "tbl_df.tidy_dagitty",
      "title": "Convert a 'tidy_dagitty' object to tbl_df",
      "topics": [
        "tbl_df.tidy_dagitty"
      ]
    },
    {
      "page": "is_collider",
      "title": "Detecting colliders in DAGs",
      "topics": [
        "is_collider",
        "is_downstream_collider",
        "Test if Variable Is Collider"
      ]
    },
    {
      "page": "theme_dag_blank",
      "title": "Minimalist DAG themes",
      "topics": [
        "theme_dag",
        "theme_dag_blank",
        "theme_dag_grid"
      ]
    },
    {
      "page": "theme_dag_grey",
      "title": "Simple grey themes for DAGs",
      "topics": [
        "theme_dag_gray",
        "theme_dag_gray_grid",
        "theme_dag_grey",
        "theme_dag_grey_grid"
      ]
    },
    {
      "page": "tidy_dagitty",
      "title": "Tidy a 'dagitty' object",
      "topics": [
        "tidy_dagitty"
      ]
    },
    {
      "page": "time_ordered_coords",
      "title": "Create a time-ordered coordinate data frame",
      "topics": [
        "time_ordered_coords"
      ]
    },
    {
      "page": "status",
      "title": "Find variable status",
      "topics": [
        "ggdag_status",
        "node_status",
        "Variable Status"
      ]
    }
  ],
  "_pkglogo": "https://github.com/r-causal/ggdag/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/r-causal/ggdag/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "boot",
    "cachem",
    "cli",
    "cpp11",
    "curl",
    "dagitty",
    "dplyr",
    "farver",
    "fastmap",
    "forcats",
    "generics",
    "ggarrow",
    "ggforce",
    "ggplot2",
    "ggraph",
    "ggrepel",
    "glue",
    "graphlayouts",
    "gridExtra",
    "gtable",
    "igraph",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "memoise",
    "pillar",
    "pkgconfig",
    "polyclip",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "systemfonts",
    "tibble",
    "tidygraph",
    "tidyr",
    "tidyselect",
    "tweenr",
    "utf8",
    "V8",
    "vctrs",
    "viridis",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "intro-to-dags.Rmd",
      "filename": "intro-to-dags.html",
      "title": "An Introduction to Directed Acyclic Graphs",
      "author": "Malcolm Barrett",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Directed Acyclic Graphs",
        "Structural Causal Graphs",
        "Relationships between variables",
        "Colliders and collider-stratification bias",
        "Mediation",
        "Resources"
      ],
      "created": "2018-03-06 02:48:24",
      "modified": "2025-08-10 16:18:31",
      "commits": 19
    },
    {
      "source": "intro-to-ggdag.Rmd",
      "filename": "intro-to-ggdag.html",
      "title": "An Introduction to ggdag",
      "author": "Malcolm Barrett",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Creating Directed Acyclic Graphs",
        "Working with DAGs",
        "Plotting DAGs",
        "Plotting directly in ggplot2"
      ],
      "created": "2018-03-06 02:48:24",
      "modified": "2025-08-10 16:18:31",
      "commits": 16
    },
    {
      "source": "bias-structures.Rmd",
      "filename": "bias-structures.html",
      "title": "Common Structures of Bias",
      "author": "Malcolm Barrett",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Confounders and confounding",
        "Colliders, M-bias, and butterfly bias",
        "Measurement error",
        "Selection bias",
        "Resources"
      ],
      "created": "2018-03-06 02:48:24",
      "modified": "2025-08-10 16:18:31",
      "commits": 17
    }
  ],
  "_score": 13.110722747342956,
  "_indexed": true,
  "_nocasepkg": "ggdag",
  "_universes": [
    "r-causal",
    "malcolmbarrett"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:04:51.000Z",
      "distro": "noble",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "98afaebdc7c4b41676f5c4940f85972327a0ab57d1fcd38e0727493fdec48e8a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:04:35.000Z",
      "distro": "noble",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "96b570abd8117f2634b35df76cb8fa6da453ee9dae3452b13a51f3bce15d572a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:04:15.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "99bee9ca9d942a647b42a38f531c2f150878a8811836a46f95da9de8611d986c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:04:23.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "cbcbdce0fae06cd8dcee3994a79b985220bc1a129217f1daeb8496f42e928deb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:03:52.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "5824cceeb4904775eea9e39e4b86d51319ba49da2eb39a8a70754d33a603efa8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:04:35.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "4ad89e150135104ba6311dc7fc281d7b5f583f528977f8effa126549ec7fb865",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.13.9000",
      "date": "2026-05-18T10:03:51.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "9e03ee1778d53d9b70b535c825a81d0730069461c681eb978a3332b26157490b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.13.9000",
      "date": "2026-06-02T15:55:03.000Z",
      "commit": "71997d874337e74eef3f55918b9ac535426f7c4a",
      "fileid": "6452db268bd71272b23e31314c9f73cd135c95a57aa112fb8ed012dcb1757c73",
      "status": "success",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/26026521576"
    }
  ]
}