Skip to contents

Get districts (c-components) for all nodes, or for selected nodes in an ADMG/AG. A district is a maximal set of nodes connected via bidirected edges. If both nodes and index are NULL, returns all districts in the graph.

Usage

districts(cg, nodes = NULL, index = NULL, all)

Arguments

cg

A caugi object of class ADMG or AG.

nodes

Optional character vector of node names. If supplied, returns district(s) containing these nodes.

index

Optional numeric vector of 1-based node indices. If supplied, returns district(s) containing these indices.

all

DEPRECATED (If TRUE, return all districts explicitly. Cannot be combined with nodes or index.)

Value

If all districts are requested: a list of character vectors, one per district. If nodes/index are supplied: either a character vector (single target) or a named list of character vectors (multiple targets).

Examples

cg <- caugi(
  A %-->% B,
  A %<->% C,
  D %<->% E,
  class = "ADMG"
)
districts(cg)
#> [[1]]
#> [1] "A" "C"
#> 
#> [[2]]
#> [1] "D" "E"
#> 
#> [[3]]
#> [1] "B"
#> 
# Returns list with districts: {A, C}, {B}, {D, E}
districts(cg, nodes = "A") # Returns c("A", "C")
#> [1] "A" "C"
districts(cg, index = c(1, 4))
#> $A
#> [1] "A" "C"
#> 
#> $C
#> [1] "A" "C"
#>