motif_census: Network Motif Analysis

View source: R/motifs.R

motif_censusR Documentation

Network Motif Analysis

Description

Analyze recurring subgraph patterns (motifs) in networks and test their statistical significance against null models.

Usage

motif_census(
  x,
  size = 3,
  n_random = 100,
  method = c("configuration", "gnm"),
  directed = NULL,
  seed = NULL
)

Arguments

x

A matrix, igraph object, or cograph_network

size

Motif size: 3 (triads) or 4 (tetrads). Default 3.

n_random

Number of random networks for null model. Default 100.

method

Null model method: "configuration" (preserves degree) or "gnm" (preserves edge count). Default "configuration".

directed

Logical. Treat as directed? Default auto-detected.

seed

Random seed for reproducibility

Value

A cograph_motifs object containing:

  • counts: Motif counts in observed network

  • null_mean: Mean counts in random networks

  • null_sd: Standard deviation in random networks

  • z_scores: Z-scores (observed - mean) / sd

  • p_values: Two-tailed p-values

  • significant: Logical vector (|z| > 2)

  • size: Motif size (3 or 4)

  • directed: Whether network is directed

  • n_random: Number of random networks used

See Also

motifs() for the unified API, extract_motifs() for detailed triad extraction, plot.cograph_motifs() for plotting

Other motifs: extract_motifs(), extract_triads(), get_edge_list(), motifs(), plot.cograph_motif_analysis(), plot.cograph_motifs(), subgraphs(), triad_census()

Examples

# Create a directed network
mat <- matrix(c(
  0, 1, 1, 0,
  0, 0, 1, 1,
  0, 0, 0, 1,
  1, 0, 0, 0
), 4, 4, byrow = TRUE)

# Analyze triadic motifs
m <- motif_census(mat)
print(m)
plot(m)


cograph documentation built on April 1, 2026, 1:07 a.m.