
Roll trajectory emergence up to the authors who own it
Source:R/sniff_trajectory_emergence_owners.R
sniff_trajectory_emergence_owners.RdThe actor-level companion to sniff_trajectory_dynamics(), after the player
scoring of Garner et al. (2017): it credits each author with the emergence of
the living trajectories their documents belong to. An author who publishes many
documents inside high-emergence_index centrals is an owner of the field's
emergence; one whose work sits in mature or absorbed lineages is not.
Usage
sniff_trajectory_emergence_owners(
flow,
dynamics,
authors,
min_docs = 1,
by_trajectory = FALSE,
top_n = NULL
)Arguments
- flow
A
sniff_trajectory_braid()object.- dynamics
A
sniff_trajectory_dynamics()tibble (suppliestraj_idandemergence_index).A long data frame with columns
document_idandauthor, one row per document-author pair.- min_docs
Drop authors with fewer than this many credited documents: summed across trajectories when aggregated, or within the trajectory when
by_trajectory = TRUE. Default 1 keeps all. Use a higher cut to readnorm/sharewithout one-paper noise.- by_trajectory
If
TRUE, return the per-trajectory breakdown (one row per trajectory-author) instead of the field-level aggregate (one row per author). DefaultFALSE.- top_n
Keep only the highest-scoring authors – overall (by
total) when aggregated, or per trajectory (bycontribution) whenby_trajectory = TRUE. DefaultNULLkeeps all.
Value
A tibble.
When by_trajectory = FALSE (default): one row per author, sorted by
descending total – author, total (emergence ownership), ndocs
(credited document-trajectory incidences), norm (total / sqrt(ndocs)).
When by_trajectory = TRUE: one row per trajectory-author, sorted by
trajectory then descending contribution – traj_id, group, author,
ndocs (the author's distinct documents in the trajectory, \(n_{a,t}\)),
emergence_index (the trajectory's weight), contribution
(emergence_index * ndocs, the author's share of that trajectory's
emergence), and share (ndocs over the trajectory's distinct documents –
the author's coverage of its papers).
Details
For every central trajectory with a defined emergence_index (the living
population), each author is credited emergence_index(t) per distinct document
they hold in t. Absorbed lineages carry no emergence_index and are skipped,
so a contributor to a dead tributary is never scored as owning emergence.
$$Total(a) = \sum_t emergence\_index(t)\, n_{a,t}, \qquad Norm(a) = Total(a) / \sqrt{\sum_t n_{a,t}}$$
where \(n_{a,t}\) is author \(a\)'s distinct documents in trajectory
\(t\). Total favours prolific owners; Norm (per square-root of output,
Garner's normalization) surfaces high-intensity authors with fewer papers.
With by_trajectory = TRUE the per-trajectory term \(n_{a,t}\) is returned
instead of being summed away: one row per (trajectory, author), so you can read
which authors dominate each living trajectory rather than the field as a
whole. top_n then trims to the leading authors per trajectory.
See also
sniff_trajectory_dynamics(), sniff_trajectory_community(),
sniff_trajectory_contribution()
Other trajectory analysis:
sniff_trajectory_cct(),
sniff_trajectory_community(),
sniff_trajectory_confluence(),
sniff_trajectory_contribution(),
sniff_trajectory_destination(),
sniff_trajectory_dynamics(),
sniff_trajectory_entropy(),
sniff_trajectory_formation(),
sniff_trajectory_hubs(),
sniff_trajectory_self_sufficiency()