node_is_core() identifies whether nodes belong to the core of the
network, as opposed to the periphery.
node_is_core(
.data,
coreness = NULL,
direction = c("all", "out", "in"),
centrality = NULL
)A network object of class stocnet, igraph, tbl_graph, network, or similar.
Internally any of these will be coerced to an efficient implementation.
For more information on possible coercions, see e.g. manynet::as_stocnet().
Which method to use to calculate nodes' coreness. One of "correlation", "rich", "transition", or "hub"; see method_coreness for what each does. By default NULL, which uses "rich" for a weighted, directed, or two-mode network, since it is the only method that reads those properties directly, and "correlation" otherwise.
One of "all" (the default), "out", or "in". For a directed network, "out" scores nodes on the ties they send and "in" on the ties they receive. Ignored for undirected and two-mode networks.
Deprecated; use coreness instead.
A node_mark logical vector the length of the nodes in the network,
giving either TRUE or FALSE for each node depending on
whether the condition is matched.
This function is used to identify which nodes should belong to the core, and which to the periphery. It seeks to minimize the following quantity: $$Z(S_1) = \sum_{(i<j)\in S_1} \textbf{I}_{\{A_{ij}=0\}} + \sum_{(i<j)\notin S_1} \textbf{I}_{\{A_{ij}=1\}}$$ where nodes \(\{i,j,...,n\}\) are ordered in descending coreness, \(A\) is the adjacency matrix, and the indicator function is 1 if the predicate is true or 0 otherwise. Note that minimising this quantity maximises density in the core block and minimises density in the periphery block; it ignores ties between these blocks.
Which ordering the nodes are swept in depends on the method named by
coreness, for which see method_coreness.
Borgatti, Stephen P., and Martin G. Everett. 2000. "Models of core/periphery structures". Social Networks, 21(4), 375-395. doi:10.1016/S0378-8733(99)00019-2
Lip, Sean Z. W. 2011. "A fast algorithm for the discrete core/periphery bipartitioning problem". doi:10.48550/arXiv.1102.5511
Other core-periphery:
measure_core,
member_core
Other marks:
mark_degree,
mark_diff,
mark_dyads,
mark_nodes,
mark_select_node,
mark_select_tie,
mark_ties,
mark_triangles
Other nodal:
mark_degree,
mark_diff,
mark_nodes,
mark_select_node,
measure_assort_node,
measure_broker_node,
measure_brokerage,
measure_central_between,
measure_central_close,
measure_central_degree,
measure_central_eigen,
measure_closure_node,
measure_core,
measure_diffusion_node,
measure_diverse_node,
member_brokerage,
member_cliques,
member_community,
member_community_hier,
member_community_non,
member_components,
member_core,
member_diffusion,
member_equivalence,
motif_brokerage_node,
motif_clique,
motif_composition,
motif_exposure,
motif_node,
motif_path
node_is_core(ison_adolescents)
#> Betty Sue Alice Jane Dale Pam Carol Tina
#> 1 FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE
ison_adolescents |>
mutate(corep = node_is_core())
#>
#> ── # The Adolescent Society ────────────────────────────────────────────────────
#> # A labelled, undirected network of 8 adolescents and 10 friendship ties
#>
#> ── Nodes
#> # A tibble: 8 × 2
#> name corep
#> <chr> <node_mrk>
#> 1 Betty FALSE
#> 2 Sue TRUE
#> 3 Alice TRUE
#> 4 Jane FALSE
#> 5 Dale TRUE
#> 6 Pam FALSE
#> # ℹ 2 more rows
#>
#> ── Ties
#> # A tibble: 10 × 2
#> from to
#> <int> <int>
#> 1 1 2
#> 2 2 3
#> 3 3 4
#> 4 2 5
#> 5 3 5
#> 6 4 5
#> # ℹ 4 more rows
#>