dprewire.range | R Documentation |
The assortativity coefficient of a given network may not reach all the values between -1 and 1 via degree preserving rewiring. This function calculates the range of assortativity coefficients achievable through degree preserving rewiring. The algorithm is designed for unweighted networks.
dprewire.range(
netwk,
edgelist,
adj,
directed,
which.range = c("outout", "outin", "inout", "inin"),
control = cvxr_control(),
target.assortcoef = list(outout = NULL, outin = NULL, inout = NULL, inin = NULL)
)
netwk |
A |
edgelist |
A two-column matrix, where each row represents an edge of the network. |
adj |
An adjacency matrix of an unweighted network. |
directed |
Logical, whether the network is directed or not. It will be
ignored if |
which.range |
The type of interested assortativity coefficient. For directed networks, it takes one of the values: "outout", "outin", "inout" and "inin". It will be ignored if the network is undirected. |
control |
A list of parameters passed to |
target.assortcoef |
A list of constraints, it contains the predetermined
value or range imposed on assortativity coefficients other than
|
The ranges are computed using convex optimization. The optimization problems
are defined and solved via the R
package CVXR
. For undirected
networks, the function returns the range of the assortativity coefficient.
For directed networks, the function computes the range of which.range
while other assortativity coefficients are restricted through
target.assortcoef
.
Returns the range of the selected assortativity coefficient and the results from the solver.
set.seed(123)
netwk <- rpanet(5e3,
control =
rpa_control_scenario(alpha = 0.5, beta = 0.5)
)
ret1 <- dprewire.range(
netwk = netwk, which.range = "outin",
target.assortcoef = list("outout" = c(-0.3, 0.3), "inout" = 0.1)
)
ret1$range
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.