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 stocnet, igraph, tbl_graph, network, or similar. Internally any of these will be coerced to an efficient implementation. For more information on possible coercions, see e.g. manynet::as_stocnet().

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, weighted, directed network of 18 nodes and 168 like
#> arcs over 3 waves
#> # Transformed by exclusion: layers other than 'like' (295 ties excluded)
#> 
#> ── Nodes 
#> # A tibble: 18 × 3
#>   label       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  time 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 6459a0b 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 6459a0b (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 3ec574f 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 3ec574f (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 f8c0c38 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 f8c0c38 (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, weighted, directed network of 18 nodes and 168 like
#> arcs over 3 waves
#> # Transformed by exclusion: layers other than 'like' (295 ties excluded)
#> 
#> ── Nodes 
#> # A tibble: 18 × 3
#>   label       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  time 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.