These functions return logical vectors the length of the ties in a network identifying which hold certain properties or positions in the network.

  • tie_is_triangular() marks ties that are part of triangles.

  • tie_is_cyclical() marks ties that are part of cycles.

  • tie_is_triplet() marks ties that are part of transitive triplets.

  • tie_is_simmelian() marks ties that are both in a triangle and fully reciprocated.

  • tie_is_imbalanced() marks ties that are part of imbalanced triads.

  • tie_is_transitive() marks ties that complete transitive closure.

They are most useful in highlighting parts of the network that are cohesively connected.

tie_is_triangular(.data)

tie_is_transitive(.data)

tie_is_triplet(.data)

tie_is_cyclical(.data)

tie_is_simmelian(.data)

tie_is_imbalanced(.data)

Arguments

.data

A network object of class mnet, igraph, tbl_graph, network, or similar. For more information on the standard coercion possible, see manynet::as_tidygraph().

Value

A tie_mark logical vector the length of the ties in the network, giving either TRUE or FALSE for each tie depending on whether the condition is matched.

Examples

ison_monks |> to_uniplex("like") |> 
  mutate_ties(tri = tie_is_triangular())
#> 
#> ── # Sampson's Monks ───────────────────────────────────────────────────────────
#> # A longitudinal, labelled, multiplex, weighted, directed network of 18 nodes
#> and 168 like arcs over 3 waves
#> 
#> ── Nodes 
#> # A tibble: 18 × 3
#>   name        groups        left
#>   <chr>       <chr>        <dbl>
#> 1 Romuald     Interstitial     3
#> 2 Bonaventure Loyal            4
#> 3 Ambrose     Loyal            4
#> 4 Berthold    Loyal            4
#> 5 Peter       Loyal            3
#> 6 Louis       Loyal            4
#> # ℹ 12 more rows
#> 
#> ── Ties 
#> # A tibble: 168 × 5
#>    from    to weight  wave tri       
#>   <int> <int>  <dbl> <dbl> <tie_mark>
#> 1     1     2      1     2 TRUE      
#> 2     1     2      1     3 TRUE      
#> 3     1     3      1     3 TRUE      
#> 4     1     5      3     1 TRUE      
#> 5     1     5      3     2 TRUE      
#> 6     1     5      3     3 TRUE      
#> # ℹ 162 more rows
#> 
ison_adolescents |> to_directed() |> 
  mutate_ties(trans = tie_is_transitive())
#> IGRAPH fc31131 DN-- 8 10 -- The Adolescent Society
#> + attr: name (g/c), doi (g/c), year (g/n), vertex1 (g/c), vertex1.total
#> | (g/n), edge.pos (g/c), directed (g/l), name (v/c), trans (e/l)
#> + edges from fc31131 (vertex names):
#>  [1] Betty->Sue   Sue  ->Alice Alice->Jane  Sue  ->Dale  Dale ->Alice
#>  [6] Dale ->Jane  Sue  ->Pam   Pam  ->Alice Pam  ->Carol Carol->Tina 
ison_adolescents |> to_directed() |> 
  mutate_ties(trip = tie_is_triplet())
#> IGRAPH 73dfe90 DN-- 8 10 -- The Adolescent Society
#> + attr: name (g/c), doi (g/c), year (g/n), vertex1 (g/c), vertex1.total
#> | (g/n), edge.pos (g/c), directed (g/l), name (v/c), trip (e/l)
#> + edges from 73dfe90 (vertex names):
#>  [1] Betty->Sue   Alice->Sue   Alice->Jane  Dale ->Sue   Dale ->Alice
#>  [6] Jane ->Dale  Pam  ->Sue   Pam  ->Alice Pam  ->Carol Carol->Tina 
ison_adolescents |> to_directed() |> 
  mutate_ties(cyc = tie_is_cyclical())
#> IGRAPH 622be86 DN-- 8 10 -- The Adolescent Society
#> + attr: name (g/c), doi (g/c), year (g/n), vertex1 (g/c), vertex1.total
#> | (g/n), edge.pos (g/c), directed (g/l), name (v/c), cyc (e/l)
#> + edges from 622be86 (vertex names):
#>  [1] Betty->Sue   Sue  ->Alice Alice->Jane  Dale ->Sue   Dale ->Alice
#>  [6] Dale ->Jane  Pam  ->Sue   Pam  ->Alice Pam  ->Carol Carol->Tina 
ison_monks |> to_uniplex("like") |> 
  mutate_ties(simmel = tie_is_simmelian())
#> ── # Sampson's Monks ───────────────────────────────────────────────────────────
#> # A longitudinal, labelled, multiplex, weighted, directed network of 18 nodes
#> and 168 like arcs over 3 waves
#> 
#> ── Nodes 
#> # A tibble: 18 × 3
#>   name        groups        left
#>   <chr>       <chr>        <dbl>
#> 1 Romuald     Interstitial     3
#> 2 Bonaventure Loyal            4
#> 3 Ambrose     Loyal            4
#> 4 Berthold    Loyal            4
#> 5 Peter       Loyal            3
#> 6 Louis       Loyal            4
#> # ℹ 12 more rows
#> 
#> ── Ties 
#> # A tibble: 168 × 5
#>    from    to weight  wave simmel    
#>   <int> <int>  <dbl> <dbl> <tie_mark>
#> 1     1     2      1     2 FALSE     
#> 2     1     2      1     3 FALSE     
#> 3     1     3      1     3 FALSE     
#> 4     1     5      3     1 FALSE     
#> 5     1     5      3     2 FALSE     
#> 6     1     5      3     3 FALSE     
#> # ℹ 162 more rows
#> 
fict_marvel |> to_uniplex("relationship") |> tie_is_imbalanced()
#>   `Abomination-Abomination` `Abomination-Beast` `Abomination-Colossus`
#> 1 TRUE                      FALSE               FALSE                 
#> # ... and 555 more values from this nodeset. Use `print_all(...)` to print all values.