
Braid: the canonical detector of trajectories (central + absorbed)
Source:R/sniff_trajectory_braid.R
sniff_trajectory_braid.RdDecomposes the cumulative-clustering DAG into trajectories via trunk edges
(mutual dominance: v -> u where u is v's heaviest successor and v is
u's heaviest predecessor). Trunk edges form disjoint chains. A chain ending at
a final-year group node is a central trajectory (tr::<group>, one per final
group, reaches the final year); every other chain is absorbed (tr1 … trN),
merging into an absorber (central or another absorbed) where its head flows out
via a non-trunk edge. Absorption is transitive, forming a confluence forest.
Arguments
- x
A
sniff_trajectory_dag()object, asniff_groups_lineage()object, or adocs_per_grouptibble (the DAG is built internally).- min_group_size, jaccard_min, k_out
Passed to
sniff_trajectory_dag()whenxis not already a DAG object.
Value
A birddog_flow object: a classed list with trajectories (tibble:
traj_id, type ("central"/"absorbed"),
group (destination group; NA if extinct), start, end,
size (distinct papers), depth (0 = central), absorbed_into (absorber
traj_id, NA for central), absorption_year (NA for central), nodes
list-col), tree (edges child, parent, absorption_year), graph,
docs_per_group, last_year.