The `iglm.data` class is a container for storing, validating, and analyzing unit-level attributes (x_attribute, y_attribute) and connections (z_network).
Active bindings
label_x(`character`) Label/name for `x_attribute`.
label_y(`character`) Label/name for `y_attribute`.
label_z(`character`) Label/name for `z_network`.
x_attribute(`numeric`) The vector for the first unit-level attribute.
y_attribute(`numeric`) The vector for the second unit-level attribute.
z_network(`matrix`) The primary network structure as a 2-column integer edgelist.
neighborhood(`matrix`) Read-only. The secondary/neighborhood structure as a 2-column integer edgelist. An empty matrix if not provided.
overlap(`matrix`) Read-only. The calculated overlap relation (dyads with shared neighbors in `neighborhood`) as a 2-column integer edgelist. An empty matrix if overlap hasn't been computed or is not available.
directed(`logical`) Indicates if the `z_network` is treated as directed.
n_units(`integer`) The total number of units (nodes) in the network.
n_actor(`integer`) Deprecated alias for `n_units`.
family_x(`character`) The specified distribution family for the `x_attribute`.
family_y(`character`) The specified distribution family for the `y_attribute`.
scale_x(`numeric`) The scale parameter associated with the `x_attribute`.
scale_y(`numeric`) The scale parameter associated with the `y_attribute`.
fix_x(`logical`) Indicates if the `x_attribute` is fixed during estimation/simulation.
fix_z(`logical`) Indicates if the `z_network` is fixed during estimation/simulation.
descriptives(`list`) A list storing computed descriptive statistics for the network and attributes.
fix_z_alocal(`logical`) Flag indicating whether nonoverlap (alocal) edges are treated as fixed.
Methods
iglm.data$new()
Create a new `iglm.data` object, that includes data on two attributes and one network.
Usage
iglm.data$new(
x_attribute = NULL,
y_attribute = NULL,
z_network = NULL,
neighborhood = NULL,
directed = NA,
n_units = NA,
family_x = "binomial",
family_y = "binomial",
scale_x = 1,
scale_y = 1,
fix_x = FALSE,
fix_z = FALSE,
fix_z_alocal = TRUE,
return_neighborhood = TRUE,
file = NULL,
label_x = "x",
label_y = "y",
label_z = "z",
n_actor = NULL
)Arguments
x_attributeA numeric vector for the first unit-level attribute.
y_attributeA numeric vector for the second unit-level attribute.
z_networkA matrix representing the network. Can be a 2-column edgelist or a square adjacency matrix.
neighborhoodAn optional matrix for the neighborhood representing local dependence. Can be a 2-column edgelist or a square adjacency matrix. A tie in `neighborhood` between unit i and j indicates that j is in the neighborhood of i, implying dependence between the respective units.
directedA logical value indicating if `z_network` is directed. If `NA` (default), directedness is inferred from the symmetry of `z_network`.
n_unitsAn integer for the number of units in the system. If `NA` (default), `n_units` is inferred from the attributes or network matrices.
family_xCharacter string for the family of `x_attribute`. Must be one of `"binomial"`, `"poisson"`, or `"normal"`. Default is `"binomial"`.
family_yCharacter string for the family of `y_attribute`. Must be one of `"binomial"`, `"poisson"`, or `"normal"`. Default is `"binomial"`.
scale_xA positive numeric value for scaling (e.g., variance for "normal" type). Default is 1.
scale_yA positive numeric value for scaling (e.g., variance for "normal" type). Default is 1.
fix_xLogical. If `TRUE`, the `x_attribute` is treated as fixed during model estimation and simulation. Default is `FALSE`.
fix_zLogical. If `TRUE`, the `z_network` is treated as fixed during model estimation and simulation. Default is `FALSE`.
fix_z_alocalLogical. If `TRUE` (default), edges outside the overlap region (alocal dyads) are fixed.
return_neighborhoodLogical. If `TRUE` (default) and `neighborhood` is `NULL`, a full neighborhood (all dyads) is generated implying global dependence. If `FALSE`, no neighborhood is set.
file(character) Optional file path to load a saved `iglm.data` object state.
label_xCharacter string for the label/name of `x_attribute`. Default is `"x"`.
label_yCharacter string for the label/name of `y_attribute`. Default is `"y"`.
label_zCharacter string for the label/name of `z_network`. Default is `"z"`.
n_actor(Deprecated) An integer for the number of units. Please use
n_unitsinstead.
iglm.data$set_family_y()
Sets the `family_y` of the `iglm.data` object.
iglm.data$gather()
Gathers the current state of the `iglm.data` object into a list. This includes all attributes, network, and configuration details necessary to reconstruct the object later.
iglm.data$delete_isolates()
Deletes isolates from the `z_network` and updates the attributes and neighborhood accordingly. Isolates are units that do not have any connections in the `z_network`. This method identifies such units, removes them from the attributes and neighborhood, and updates the `z_network` to reflect the new unit indices.
iglm.data$save()
Saves the current state of the `iglm.data` object to a specified file path in RDS format. This includes all attributes, network, and configuration details necessary to reconstruct the object later.
iglm.data$x_distribution()
Calculates the distribution of the `x_attribute`.
Arguments
value_range(numeric vector) Optional range of values to consider for the distribution. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns proportions; if `FALSE`, returns counts.
plot(logical) If `TRUE` (default), plots the distribution using a density plot for continuous data or a bar plot for discrete data.
iglm.data$x_dist()
Short alias for `x_distribution`.
Arguments
value_range(numeric vector) Optional range of values to consider for the distribution. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns probabilities; if `FALSE`, returns frequencies.
plot(logical) If `TRUE` (default), plots the distribution.
iglm.data$y_distribution()
Calculates the distribution of the `y_attribute`.
Arguments
value_range(numeric vector) Optional range of values to consider for the distribution. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns proportions; if `FALSE`, returns counts.
plot(logical) If `TRUE` (default), plots the distribution using a density plot for continuous data or a bar plot for discrete data.
iglm.data$y_dist()
Short alias for `y_distribution`.
Arguments
value_range(numeric vector) Optional range of values to consider for the distribution. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns probabilities; if `FALSE`, returns frequencies.
plot(logical) If `TRUE` (default), plots the distribution.
iglm.data$edgewise_shared_partner()
Calculates the matrix of edgewise shared partners. This is a two-path matrix (e.g., $A A^T$ or $A^T A$).
Usage
iglm.data$edgewise_shared_partner(
type = "ALL",
mode = "global",
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL
)Arguments
type(character) The type of two-path to calculate for directed networks. Ignored if network is undirected. Must be one of: `"OTP"` (Outgoing Two-Path, \(z_{i,j}\, z_{i,h} \, z_{j,h}\) ), `"ISP"` (Ingoing Shared Partner, \(z_{i,j}\, z_{h,i} \, z_{j,h}\)), `"OSP"` (Outgoing Shared Partner, \(z_{i,j}\, z_{i,h} \, z_{j,h}\)), `"ITP"` (Incoming Two-Path, \(z_{i,j}\, z_{h,i} \, z_{j,h}\)), `"ALL"` (Any one of the above). Default is `"ALL"`.
mode(character) Either `"global"` (default) to evaluate across all edges, or `"local"` to evaluate only edges with overlapping neighborhoods (from `overlap`).
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
iglm.data$set_neighborhood_overlap()
Sets the neighborhood and overlap matrices.
iglm.data$dyadwise_shared_partner()
Calculates the matrix of dyadwise shared partners.
Usage
iglm.data$dyadwise_shared_partner(
type = "ALL",
mode = "global",
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL
)Arguments
type(character) The type of two-path to calculate for directed networks. Ignored if network is undirected. Must be one of: `"OTP"` (Outgoing Two-Path, \(z_{i,h} \, z_{j,h}\) ), `"ISP"` (Ingoing Shared Partner, \(z_{h,i} \, z_{j,h}\)), `"OSP"` (Outgoing Shared Partner, \(z_{i,h} \, z_{j,h}\)), `"ITP"` (Incoming Two-Path, \(z_{h,i} \, z_{j,h}\)), `"ALL"` (Any one of the above). Default is `"ALL"`.
mode(character) Either `"global"` (default) to evaluate across all dyads, or `"local"` to evaluate only dyads with overlapping neighborhoods.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
iglm.data$geodesic_distances_distribution()
Calculates the geodesic distance distribution of the symmetrized `z_network`.
Usage
iglm.data$geodesic_distances_distribution(
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
value_range(numeric vector) A vector `c(min, max)` specifying the range of distances to tabulate. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns a probability distribution (proportions). If `FALSE`, returns raw counts.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) Either `"global"` (default) to evaluate across all node pairs, or `"local"` to evaluate only pairs with overlapping neighborhoods (from `overlap`).
iglm.data$geodesic_distances()
Calculates the all-pairs geodesic distance matrix for the symmetrized `z_network` using a matrix-based BFS algorithm.
Usage
iglm.data$geodesic_distances(
mode = "global",
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL
)Arguments
mode(character) Either `"global"` (default) to evaluate across all pairs, or `"local"` to evaluate only pairs with overlapping neighborhoods.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
iglm.data$esp()
Short alias for `edgewise_shared_partner`.
Usage
iglm.data$esp(
type = "ALL",
mode = "global",
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL
)Arguments
type(character) The type of two-path to calculate. Default is `"ALL"`.
mode(character) `"global"` (default) or `"local"`.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
iglm.data$esp_dist()
Short alias for `edgewise_shared_partner_distribution`.
Usage
iglm.data$esp_dist(
type = "ALL",
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
type(character) The type of two-path to calculate. Default is `"ALL"`.
value_range(numeric vector) Range of counts to tabulate.
prob(logical) If `TRUE` (default), returns proportions.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) `"global"` (default) or `"local"`.
iglm.data$dsp()
Short alias for `dyadwise_shared_partner`.
Usage
iglm.data$dsp(
type = "ALL",
mode = "global",
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL
)Arguments
type(character) The type of two-path to calculate. Default is `"ALL"`.
mode(character) `"global"` (default) or `"local"`.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
iglm.data$dsp_dist()
Short alias for `dyadwise_shared_partner_distribution`.
Usage
iglm.data$dsp_dist(
type = "ALL",
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
type(character) The type of two-path to calculate. Default is `"ALL"`.
value_range(numeric vector) Range of counts to tabulate.
prob(logical) If `TRUE` (default), returns proportions.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) `"global"` (default) or `"local"`.
iglm.data$geo()
Short alias for `geodesic_distances`.
iglm.data$geodist()
Short alias for `geodesic_distances`.
iglm.data$geo_dist()
Short alias for `geodesic_distances_distribution`.
Usage
iglm.data$geo_dist(
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
value_range(numeric vector) Range of distances to tabulate.
prob(logical) If `TRUE` (default), returns proportions.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) `"global"` (default) or `"local"`.
iglm.data$edgewise_shared_partner_distribution()
Calculates the distribution of edgewise shared partners.
Usage
iglm.data$edgewise_shared_partner_distribution(
type = "ALL",
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
type(character) The type of shared partner matrix to use. See `edgewise_shared_partner` for details. Default is `"ALL"`.
value_range(numeric vector) A vector `c(min, max)` specifying the range of counts to tabulate. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns a probability distribution (proportions). If `FALSE`, returns raw counts.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) Either `"global"` (default) to evaluate across all edges, or `"local"` to evaluate only edges with overlapping neighborhoods.
iglm.data$dyadwise_shared_partner_distribution()
Calculates the distribution of dyadwise shared partners.
Usage
iglm.data$dyadwise_shared_partner_distribution(
type = "ALL",
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
type(character) The type of shared partner matrix to use. See `dyadwise_shared_partner` for details. Default is `"ALL"`.
value_range(numeric vector) A vector `c(min, max)` specifying the range of counts to tabulate. If `NULL` (default), the range is inferred from the data.
prob(logical) If `TRUE` (default), returns a probability distribution (proportions). If `FALSE`, returns raw counts.
plot(logical) If `TRUE`, plots the distribution.
x_i(optional) Sender attribute constraint.
x_j(optional) Receiver attribute constraint.
y_i(optional) Sender attribute constraint.
y_j(optional) Receiver attribute constraint.
mode(character) Either `"global"` (default) to evaluate across all dyads, or `"local"` to evaluate only dyads with overlapping neighborhoods.
iglm.data$degree_distribution()
Calculates the degree distribution of the `z_network`.
A flexible, general function for evaluating network connectivity across global networks, local neighborhoods, attribute-defined subgroups, and cross-group spillover pathways.
Topological Scope (mode)
"global"(default): Evaluates degree distributions across all dyads in the network."local": Evaluates local degree distributions restricted strictly to unit pairs that share an overlapping neighborhood (overlap).
Directionality and Bipartite Subgroups
Directed networks: Always returns both
out_degree(ties sent) andin_degree(ties received).Undirected networks: Returns a single overall
degreedistribution when unconstrained or single-side constrained. When bilateral constraints are supplied (e.g., sender \(i\) and receiver \(j\)), ties are evaluated directionally (\(i \to j\)), returning bothout_degreeandin_degree.
Spillover and Subgroup Conditioning
Any combination of sender attributes (x_i, y_i) and receiver attributes
(x_j, y_j) can be specified to measure spillover dynamics:
out_degree: Distribution of ties sent from matching senders \(i\) to matching receivers \(j\) (spillover sending capacity).in_degree: Distribution of ties received by matching receivers \(j\) from matching senders \(i\) (spillover exposure).
Supported Constraint Formats & Internal Handling
Attribute constraints (x_i, x_j, y_i, y_j) accept:
Exact scalar values: For binary attributes, matches units with that exact value (e.g.,
x_i = 1).Continuous / Count shortcuts: When an attribute is continuous (
"normal") or count ("poisson"), setting1internally selects above-mean units (\(x_i > \bar{x}\)), and0selects below-or-equal-to-mean units (\(x_i \le \bar{x}\)). Any other numeric value \(v\) matches units with exact value \(v\).Discrete value sets: Vectors such as
x_i = c(1, 2)match units with any value in that set.Filtering functions: Custom functions (vectorized or scalar), e.g.,
x_i = function(x) x > 0.5ory_j = \(y) if (y > 2) TRUE else FALSE.
Plotting and Axis Labels
When plot = TRUE, mathematical expressions are formatted automatically for the x-axis:
Exact values and sets display as \(x_i == 1\) or \(x_i == \text{c(1, 2)}\).
Continuous shortcuts display with sample mean bars as \(x_i > \bar{x}\) or \(x_i \le \bar{x}\).
Filtering functions display as \(x_i == \text{"fn"}\).
Usage
iglm.data$degree_distribution(
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
value_range(numeric vector or list) A vector
c(min, max)specifying the range of degrees to tabulate, or a list within_degreeandout_degree. IfNULL(default), ranges are inferred from the data.prob(logical) If
TRUE(default), returns a probability distribution (proportions). IfFALSE, returns raw counts.plot(logical) If
TRUE, plots the degree distribution barplot(s).x_i(optional) Exact value, vector, or filtering function for attribute
xof sender unit \(i\).x_j(optional) Exact value, vector, or filtering function for attribute
xof receiver unit \(j\).y_i(optional) Exact value, vector, or filtering function for attribute
yof sender unit \(i\).y_j(optional) Exact value, vector, or filtering function for attribute
yof receiver unit \(j\).mode(character) Either
"global"(default) to evaluate across all dyads, or"local"to evaluate only ties within overlapping neighborhoods (overlap).
Returns
If the network is directed or if bilateral constraints are provided,
a list containing two table objects: out_degree and in_degree.
If undirected without bilateral constraints, a single table object with
the degree distribution.
Examples
data(copenhagen)
# Overall degree distribution
copenhagen$degree_distribution(prob = FALSE, plot = FALSE)
# Spillover degree distribution (female to male call connections)
copenhagen$deg_dist(
x_i = 1, # Sender: female
x_j = 0, # Receiver: male
mode = "local",
plot = FALSE
)iglm.data$degree()
Calculates the degree sequence(s) of the `z_network`.
General function for calculating unit-level degree sequences across global topologies, local neighborhoods, attribute-defined subsets, or directional spillover pathways.
Arguments
x_i(optional) Exact value, vector, or filtering function for attribute
xof sender unit \(i\).x_j(optional) Exact value, vector, or filtering function for attribute
xof receiver unit \(j\).y_i(optional) Exact value, vector, or filtering function for attribute
yof sender unit \(i\).y_j(optional) Exact value, vector, or filtering function for attribute
yof receiver unit \(j\).mode(character)
"global"(default) or"local".
Returns
If the network is directed or if asymmetric/bipartite bilateral constraints are given,
a list containing two numeric vectors: out_degree_seq and in_degree_seq.
If undirected without constraints or with identical bilateral constraints,
a list containing the vector degree_seq.
Examples
data(copenhagen)
# Global degree sequence
copenhagen$degree()
# Local spillover degree sequence with filtering functions
copenhagen$deg(
x_i = function(x) x > 2,
y_j = function(y) y > 2,
mode = "local"
)iglm.data$deg()
Short alias for `degree`.
iglm.data$deg_dist()
Short alias for `degree_distribution`. Supports standard, local, and attribute-constrained (spillover) degree distributions.
Usage
iglm.data$deg_dist(
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
value_rangeOptional range of degrees to tabulate.
prob(logical) If `TRUE`, returns proportions.
plot(logical) If `TRUE`, plots the distribution.
x_iOptional sender attribute constraint.
x_jOptional receiver attribute constraint.
y_iOptional sender attribute constraint.
y_jOptional receiver attribute constraint.
mode(character) `"global"` (default) or `"local"`.
iglm.data$degree_dist()
Alias for `deg_dist` / `degree_distribution`.
Usage
iglm.data$degree_dist(
value_range = NULL,
prob = TRUE,
plot = TRUE,
x_i = NULL,
x_j = NULL,
y_i = NULL,
y_j = NULL,
mode = "global"
)Arguments
value_rangeOptional range of degrees to tabulate.
prob(logical) If `TRUE`, returns proportions.
plot(logical) If `TRUE`, plots the distribution.
x_iOptional sender attribute constraint.
x_jOptional receiver attribute constraint.
y_iOptional sender attribute constraint.
y_jOptional receiver attribute constraint.
mode(character) `"global"` (default) or `"local"`.
iglm.data$plot()
Plot the network using `igraph`.
Visualizes the `z_network` using the `igraph` package. Nodes can be colored by `x_attribute` and sized by `y_attribute`. `neighborhood` edges can be plotted as a background layer.
Usage
iglm.data$plot(
node_color = "x",
node_size = "y",
show_overlap = TRUE,
layout = igraph::layout_with_fr,
network_edges_col = "grey60",
neighborhood_edges_col = "orange",
main = "",
legend_col_n_levels = NULL,
legend_size_n_levels = NULL,
legend_pos = "right",
alpha_neighborhood = 0.2,
edge.width = 1,
edge.arrow.size = 1,
vertex.frame.width = 0.5,
coords = NULL,
legend_size = 0.5,
...
)Arguments
node_color(character) Attribute to map to node color. One of `"x"` (default), `"y"`, or `"none"`.
node_size(character) Attribute to map to node size. One of `"y"` (default), `"x"`, or `"constant"`.
show_overlap(logical) If `TRUE` (default), plot the `neighborhood` edges as a background layer.
layoutAn `igraph` layout function (e.g., `igraph::layout_with_fr`).
network_edges_col(character) Color for the `z_network` edges.
neighborhood_edges_col(character) Color for the `neighborhood` edges.
main(character) The main title for the plot.
legend_col_n_levels(integer) Number of levels for the color legend.
legend_size_n_levels(integer) Number of levels for the size legend.
legend_pos(character) Position of the legend (e.g., `"right"`).
alpha_neighborhood(numeric) Alpha transparency for neighborhood edges.
edge.width(numeric) Width of the network edges.
edge.arrow.size(numeric) Size of the arrowheads for directed edges.
vertex.frame.width(numeric) Width of the vertex frame.
coords(matrix) Optional matrix of x-y coordinates for node layout.
legend_size(numeric) Scaling factor for the size legend.
...Additional arguments passed to `plot.igraph`.
iglm.data$print()
Print a summary of the `iglm.data` object to the console.
Examples
## ------------------------------------------------
## Method `iglm.data$degree_distribution()`
## ------------------------------------------------
data(copenhagen)
# Overall degree distribution
copenhagen$degree_distribution(prob = FALSE, plot = FALSE)
# Spillover degree distribution (female to male call connections)
copenhagen$deg_dist(
x_i = 1, # Sender: female
x_j = 0, # Receiver: male
mode = "local",
plot = FALSE
)
## ------------------------------------------------
## Method `iglm.data$degree()`
## ------------------------------------------------
data(copenhagen)
# Global degree sequence
copenhagen$degree()
#> $degree_seq
#> [1] 13 28 4 27 5 11 26 4 14 1 15 5 4 11 2 9 20 4 7 5 56 14 14 13 16
#> [26] 24 11 11 13 1 18 8 38 24 10 3 6 9 22 5 6 9 6 6 4 9 21 3 26 8
#> [51] 47 15 15 7 13 14 8 40 5 5 34 14 23 12 12 4 12 4 6 4 13 24 7 5 4
#> [76] 2 34 12 8 11 44 7 4 6 10 7 7 11 20 8 13 8 8 3 6 2 7 6 4 6
#> [101] 3 10 7 5 9 11 8 22 54 8 15 17 31 13 9 21 7 13 5 7 32 12 13 12 23
#> [126] 1 7 11 5 24 10 16 15 13 45 26 12 10 9 8 3 8 11 50 5 6 3 13 20 9
#> [151] 5 1 11 2 6 36 4 14 10 10 1 13 19 15 7 6 12 14 30 14 19 9 6 4 5
#> [176] 29 29 18 40 20 5 15 5 21 14 4 5 6 10 20 11 3 11 8 10 14 5 21 38 13
#> [201] 15 21 19 5 11 16 15 8 8 11 9 20 3 2 9 2 12 9 12 11 5 25 5 10 17
#> [226] 9 4 7 17 1 14 5 15 5 21 5 3 7 16 10 53 5 18 9 8 15 7 12 5 65
#> [251] 1 30 9 13 8 1 17 5 1 9 33 7 15 8 11 5 8 9 29 6 3 4 9 39 39
#> [276] 6 32 6 10 7 27 11 3 11 7 9 11 21 14 2 3 16 6 9 1 12 6 9 9 7
#> [301] 14 9 5 8 10 11 10 34 13 11 9 21 5 5 7 14 16 3 3 6 5 24 17 12 10
#> [326] 8 3 27 12 11 12 7 7 2 6 7 5 10 13 8 4 13 6 8 11 12 27 4 18 17
#> [351] 4 11 5 7 28 4 3 24 5 10 8 15 5 6 1 19 7 7 28 15 12 11 9 8 9
#> [376] 13 25 25 6 3 12 11 5 10 8 22 47 10 8 5 47 1 12 18 14 18 8 4 7 10
#> [401] 41 11 1 8 2 11 14 8 13
#>
# Local spillover degree sequence with filtering functions
copenhagen$deg(
x_i = function(x) x > 2,
y_j = function(y) y > 2,
mode = "local"
)
#> $out_degree_seq
#> numeric(0)
#>
#> $in_degree_seq
#> [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> [38] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> [75] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> [112] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#>
