triad_closure: Triad closure for affiliation networks

Description Usage Arguments Details Value Measures of triad closure References See Also Examples

View source: R/triad-closure.r

Description

Given an affiliation network and a vector of actor node IDs, calculate a specified measure of triad closure centered at the nodes.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
triad_closure(graph, ...)

triad_closure_an(graph, method = "wedges", ...)

triad_closure_via_triads(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global", ...)

triad_closure_from_centered_triads(triad_list, type = "global", ...,
  measure = NULL, triads.fun = NULL)

triad_closure_via_wedges(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global", ..., measure = NULL, wedges.fun = NULL)

triad_closure_watts_strogatz(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_classical(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_opsahl(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_twomode(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_liebig_rao_0(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_unconnected(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_liebig_rao_3(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_completely_connected(graph, actors = V(graph)[V(graph)$type ==
  FALSE], type = "global")

triad_closure_exclusive(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

triad_closure_projection(graph, actors = V(graph)[V(graph)$type == FALSE],
  type = "global")

Arguments

graph

An affiliation network.

...

Measure specifications passed to wedges.

method

Character; for a given measure, whether to use the measure-specific wedge census ("wedges") or the measure-specific calculation on the centered triad census ("triads").

actors

A vector of actor nodes in graph.

type

The type of statistic, matched to "global", "local", or "raw".

triad_list

A list of triad isomorphism classes in matrix format, as produced by centered_triads.

measure

Character; the measure of triad closure, used as the suffix * to triad_closure_* Matched to "classical" (also "watts_strogatz"), "twomode" (also "opsahl"), "unconnected" (also "liebig_rao_0"), "completely_connected" (also "liebig_rao_3"), or "exclusive".

triads.fun

A custom triad closure calculation. It must accept a vector of centered triad isomorphism classes, encoded as vectors w, x, y, and z, and return a 2-row integer matrix recording the number of wedges of the desired measure centered at the second actor, and involving the other two actors, of each triad.

wedges.fun

A custom wedge census function. It must accept an affiliation network graph and a single actor node ID actor and may have any additional parameters. It must return a named list with values wedges a numeric matrix of node IDs whose columns record the wedges centered at actor and closed a logical vector recording whether each wedge is closed. Overrides measure.

Details

The triad_closure_* functions implement the several measures of triad closure described below. Each function returns a single global statistic, a vector of local statistics, or a matrix of local denominators and numerators from which the global and local statistics can be recovered.

The function triad_closure_projection recapitulates triad_closure_watts_strogatz by invoking the bipartite_projection and transitivity functions in igraph.

Value

If type is "global", the global statistic for graph; if "local", the local statistics for actors; if "raw", a 2-column matrix, each row of which gives the number of wedges and of closed wedges centered at actors.

Measures of triad closure

Each measure of triad closure is defined as the proportion of wedges that are closed, where a wedge is the image of a specified two-event triad W under a specified subcategory of graph maps C subject to a specified congruence relation ~, and where a wedge is closed if it is the image of such a map that factors through a canonical inclusion of W to a specified self-dual three-event triad X.

The alcove, wedge, maps, and congruence can be specified by numerical codes as follows (no plans exist to implement more measures than these):

Some specifications correspond to statistics of especial interest:

See Brunson (2015) for a general definition and the aforecited references for discussions of each statistic.

References

Watts, D.J., & Strogatz, S.H. (1998). Collective dynamics of "small-world" networks. Nature, 393(6684), 440–442.

Opsahl, T. (2013). Triadic closure in two-mode networks: Redefining the global and local clustering coefficients. Social Networks, 35(2), 159–167. Special Issue on Advances in Two-mode Social Networks.

Liebig, J., & Rao, A. (2014). Identifying influential nodes in bipartite networks using the clustering coefficient. Pages 323–330 of: Proceedings of the tenth international conference on signal-image technology and internet-based systems.

Brunson, J.C. (2015). Triadic analysis of affiliation networks. Network Science, 3(4), 480–508.

See Also

Original igraph functions: transitivity

Other triad closure functions: dynamic_triad_closure, project_transitivity, transitivity_an, triad_closure_from_census

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
data(women_clique)
mapply(
  triad_closure,
  measure = c("classical", "twomode", "unconnected", "exclusive"),
  MoreArgs = list(graph = women_clique, type = "local")
)
data(women_group)
cbind(
  triad_closure_watts_strogatz(women_group, type = "local"),
  triad_closure_opsahl(women_group, type = "local"),
  triad_closure_liebig_rao_0(women_group, type = "local"),
  triad_closure_exclusive(women_group, type = "local")
)

corybrunson/bitriad documentation built on May 13, 2019, 10:51 p.m.