permute_graph Shuffles the values of a matrix either considering loops and multiple links (which are processed as cell values different than 1/0). rewire_qap generates a new graph graph\('\) that is isomorphic to graph.

permute_graph(graph, self = FALSE, multiple = FALSE)

rewire_permute(graph, self = FALSE, multiple = FALSE)

rewire_qap(graph)

Arguments

graph

Any class of accepted graph format (see netdiffuseR-graphs).

self

Logical scalar. When TRUE autolinks (loops, self edges) are allowed (see details).

multiple

Logical scalar. When TRUE allows multiple edges.

Value

A permuted version of graph.

References

Anderson, B. S., Butts, C., & Carley, K. (1999). The interaction of size and density with graph-level indices. Social Networks, 21(3), 239–267. doi:10.1016/S0378-8733(99)00011-8

Mantel, N. (1967). The detection of disease clustering and a generalized regression approach. Cancer Research, 27(2), 209–20.

See also

This function can be used as null distribution in struct_test

Other simulation functions: rdiffnet(), rewire_graph(), rgraph_ba(), rgraph_er(), rgraph_ws(), ring_lattice()

Author

George G. Vega Yon

Examples

# Simple example ------------------------------------------------------------
set.seed(1231)
g <- rgraph_ba(t=9)
g
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>   [[ suppressing 10 column names ‘1’, ‘2’, ‘3’ ... ]]
#>                       
#> 1  1 . . . . . . . . .
#> 2  1 . . . . . . . . .
#> 3  1 . . . . . . . . .
#> 4  . . 1 . . . . . . .
#> 5  1 . . . . . . . . .
#> 6  1 . . . . . . . . .
#> 7  1 . . . . . . . . .
#> 8  . . 1 . . . . . . .
#> 9  . . . 1 . . . . . .
#> 10 . . . . . . . . . 1

# These preserve the density
permute_graph(g)
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>                          
#>  [1,] . . . . . . . . . .
#>  [2,] . . 1 1 1 1 . . . .
#>  [3,] . . . . 1 . . . 1 .
#>  [4,] . . . . . . . 1 . .
#>  [5,] . . . . . . . . . .
#>  [6,] . . . . . . . . 1 .
#>  [7,] . . . . . . . . . .
#>  [8,] . . . . . . . . . 1
#>  [9,] . . . . . . . 1 . .
#> [10,] . . . . . . . . . .
permute_graph(g)
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>                          
#>  [1,] . . . . . . . . . .
#>  [2,] . . . . . . . . . .
#>  [3,] . . . . 1 . . . . .
#>  [4,] 1 . . . 1 . . . . 1
#>  [5,] . 1 . . . . . . . .
#>  [6,] . . . . . . . . . .
#>  [7,] . . . . . 1 . 1 . .
#>  [8,] . . . 1 . 1 . . . 1
#>  [9,] . . . . . . . . . .
#> [10,] . . . . . . . . . .

# These are isomorphic to g
rewire_qap(g)
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>   [[ suppressing 10 column names ‘2’, ‘9’, ‘8’ ... ]]
#>                       
#> 2  . . . . . . . . 1 .
#> 9  . . . . . . . 1 . .
#> 8  . . . . . . . . . 1
#> 10 . . . 1 . . . . . .
#> 6  . . . . . . . . 1 .
#> 7  . . . . . . . . 1 .
#> 5  . . . . . . . . 1 .
#> 4  . . . . . . . . . 1
#> 1  . . . . . . . . 1 .
#> 3  . . . . . . . . 1 .
rewire_qap(g)
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>   [[ suppressing 10 column names ‘5’, ‘7’, ‘9’ ... ]]
#>                       
#> 5  . . . . 1 . . . . .
#> 7  . . . . 1 . . . . .
#> 9  . . . . . 1 . . . .
#> 6  . . . . 1 . . . . .
#> 1  . . . . 1 . . . . .
#> 4  . . . . . . . . 1 .
#> 10 . . . . . . 1 . . .
#> 8  . . . . . . . . 1 .
#> 3  . . . . 1 . . . . .
#> 2  . . . . 1 . . . . .