These functions reformat manynet-consistent data.

  • to_uniplex() reformats multiplex network data to a single type of tie.

  • to_undirected() reformats directed network data to an undirected network.

  • to_directed() reformats undirected network data to a directed network.

  • to_redirected() reformats the direction of directed network data, flipping any existing direction.

  • to_reciprocated() reformats directed network data such that every directed tie is reciprocated.

  • to_acyclic() reformats network data to an acyclic graph.

  • to_unweighted() reformats weighted network data to unweighted network data.

  • to_unsigned() reformats signed network data to unsigned network data.

  • to_unnamed() reformats labelled network data to unlabelled network data.

  • to_named() reformats unlabelled network data to labelled network data.

  • to_simplex() reformats complex network data, containing loops, to simplex network data, without any loops.

  • to_anti() reformats network data into its complement, where only ties not present in the original network are included in the new network.

If the format condition is not met, for example to_undirected() is used on a network that is already undirected, the network data is returned unaltered. No warning is given so that these functions can be used to ensure conformance.

Unlike the as_*() group of functions, these functions always return the same class as they are given, only transforming these objects' properties.

to_uniplex(.data, tie)

to_undirected(.data)

to_directed(.data)

to_redirected(.data)

to_reciprocated(.data)

to_acyclic(.data)

to_unweighted(.data, threshold = 1)

to_unsigned(.data, keep = c("positive", "negative"))

to_unnamed(.data)

to_named(.data, names = NULL)

to_simplex(.data)

to_anti(.data)

Arguments

.data

An object of a manynet-consistent class:

  • matrix (adjacency or incidence) from {base} R

  • edgelist, a data frame from {base} R or tibble from {tibble}

  • igraph, from the {igraph} package

  • network, from the {network} package

  • tbl_graph, from the {tidygraph} package

tie

Character string naming a tie attribute to retain from a graph.

threshold

For a matrix, the threshold to binarise/dichotomise at.

keep

In the case of a signed network, whether to retain the "positive" or "negative" ties.

names

Character vector of the node names. NULL by default.

Value

All to_ functions return an object of the same class as that provided. So passing it an igraph object will return an igraph object and passing it a network object will return a network object, with certain modifications as outlined for each function.

Details

Not all functions have methods available for all object classes. Below are the currently implemented S3 methods:

data.frameigraphmatrixnetworktbl_graph
to_acyclic11111
to_directed11111
to_named11111
to_reciprocated11111
to_redirected11111
to_simplex01101
to_undirected11111
to_uniplex11111
to_unnamed11111
to_unsigned11111
to_unweighted11111

Functions

  • to_undirected(): Returns an object that has any edge direction removed, so that any pair of nodes with at least one directed edge will be connected by an undirected edge in the new network. This is equivalent to the "collapse" mode in {igraph}.

  • to_redirected(): Returns an object that has any edge direction transposed, or flipped, so that senders become receivers and receivers become senders. This essentially has no effect on undirected networks or reciprocated ties.

  • to_reciprocated(): Returns an object where all ties are reciprocated.

  • to_unweighted(): Returns an object that has all edge weights removed.

  • to_unsigned(): Returns a network with either just the "positive" ties or just the "negative" ties

  • to_unnamed(): Returns an object with all vertex names removed

  • to_named(): Returns an object that has random vertex names added

  • to_simplex(): Returns an object that has all loops or self-ties removed

See also

Other modifications: add_nodes(), add_ties(), as(), from, miss, split(), to_levels, to_paths, to_project, to_scope

Examples

as_tidygraph(create_filled(5)) %>%
  mutate_ties(type = sample(c("friend", "enemy"), 10, replace = TRUE)) %>%
  to_uniplex("friend")
#> # A undirected network with 5 nodes and 5 ties
#> # A tibble: 5 × 2
#>    from    to
#>   <int> <int>
#> 1     1     3
#> 2     2     5
#> 3     3     4
#> 4     3     5
#> 5     4     5
to_anti(ison_southern_women)
#> # A labelled, two-mode network with 32 nodes and 159 ties
#> # A tibble: 32 × 2
#>   type  name     
#>   <lgl> <chr>    
#> 1 FALSE Evelyn   
#> 2 FALSE Laura    
#> 3 FALSE Theresa  
#> 4 FALSE Brenda   
#> 5 FALSE Charlotte
#> 6 FALSE Frances  
#> # ℹ 26 more rows
#> # A tibble: 159 × 2
#>    from    to
#>   <int> <int>
#> 1     1    25
#> 2     1    28
#> 3     1    29
#> 4     1    30
#> 5     1    31
#> 6     1    32
#> # ℹ 153 more rows
#autographr(to_anti(ison_southern_women))