Skip to contents

Convenience wrapper for filter_edges_by_role() keeping edges where neither endpoint held a board role – the population for questions about employment rather than governance (e.g. do paid staff get promoted faster by moving organizations or by staying?). With the default mode = "any" an endpoint qualifies only if it never held a board seat at that org (strict paid-only); mode = "primary" relaxes this to "board was not their dominant role".

Usage

non_board_edges(
  edges,
  profiles,
  mode = c("any", "all", "primary"),
  match = c("both", "either"),
  annotate = TRUE
)

Arguments

edges

Edge table with emp_a, emp_b (e.g. link_cross_org()$edges).

profiles

Profiles those ids index (build_person_profile()); needs roles and primary_role.

mode

How to reduce an endpoint's role set: "any", "all", "primary".

match

Require the endpoint test on "both" ends or "either".

annotate

Append roles_a, roles_b (the endpoints' role sets, +- joined) to the result for inspection.

Value

The non-board subset of edges.

Details

Note this keeps OFFICER, STAFF, and OTHER (non-board volunteer roles such as CHAPLAIN). For strictly paid employees, filter positively instead: filter_edges_by_role(edges, profiles, target = c("OFFICER","STAFF"), mode = "all").

Examples

if (FALSE)  non_board_edges(link_cross_org(linked)$edges, profiles)  # \dontrun{}