to_concepts() projects a network into its concept lattice, also known as its Galois lattice. Each node of the lattice is a concept: a set of nodes together with the set of affiliations they all share, where neither set can grow without the other shrinking. Each tie points from a concept to a concept directly beneath it, one that holds fewer nodes but more shared affiliations.

to_concepts(.data)

Arguments

.data

An object of a {manynet}-consistent class:

  • adjacency or incidence matrix from {base} R

  • edgelist data.frame from {base} R or tbl/tbl_df from {tibble}

  • stocnet stocnet, from the {manynet} package

  • igraph igraph, from the {igraph} package

  • network network, from the {network} package

  • tidygraph tbl_graph, from the {tidygraph} package

Value

An object of the same class as the function was given, modified as explained in the function description, details, or section. Functions that split a network return a list of such objects.

Details

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

            data.frame default igraph matrix network stocnet tbl_graph
to_concepts          *       *      *      *       *       *         *

In a two-mode network, the first node set (e.g. the rows) supplies the concepts' members, their extent, and the second node set (e.g. the columns) their shared affiliations, their intent. The lattice is read from top to bottom. The concept at the top holds every node of the first set, and those affiliations, if any, that all of them share. The concept at the bottom holds every affiliation, and those nodes, if any, that have all of them. Moving down the lattice, each concept holds fewer nodes, who share more affiliations. Two nodes are in a concept together exactly where they share every one of its affiliations, and so the lattice records every membership of the original network.

A one-mode network is treated as the incidence of its nodes on their out-neighbours. Each concept is then a set of nodes together with every node that all of them send ties to, a maximal biclique of senders and receivers.

A valued or signed network is dichotomised first, so that every positive value counts as a tie, with a warning.

Labels

Each concept is named with a "reduced" label, listing only those nodes and affiliations that first appear at it. A node of the first set is named at the lowest concept whose extent holds it, and it is in the extent of every concept above that one too. An affiliation, written in braces, is named at the highest concept whose intent holds it, and it is in the intent of every concept below that one. A concept at which nothing first appears is named "C" and its position, counting from the top. Each label thus appears exactly once, and the full sets are kept in the extent and intent node attributes, with their sizes in extent_size and intent_size.

Projection without loss

Projecting a two-mode network with to_mode1() or to_mode2() records how much two nodes share, but not what they share or with whom else they share it. The concept lattice keeps both. Freeman and White (1993) propose it for this reason, and Freeman (2003) uses it to find the groups among the Southern Women. It grows quickly with the density of the network, however, and a lattice of more than a few dozen concepts is hard to read. Where a network has more than 1000 concepts, the function warns about this.

References

On Galois lattices

Freeman, Linton C., and Douglas R. White. 1993. "Using Galois lattices to represent network data". Sociological Methodology 23: 127-145. doi:10.2307/271008

Freeman, Linton C. 2003. "Finding social groups: A meta-analysis of the southern women data". In Dynamic Social Network Modeling and Analysis, 39-97. Washington, DC: The National Academies Press.

On formal concept analysis

Wille, Rudolf. 1982. "Restructuring lattice theory: An approach based on hierarchies of concepts". In Ordered Sets, 445-470. Dordrecht: Reidel. doi:10.1007/978-94-009-7798-3_15

Ganter, Bernhard, and Rudolf Wille. 1999. Formal Concept Analysis: Mathematical Foundations. Berlin: Springer. doi:10.1007/978-3-642-59830-2

Examples

to_concepts(ison_southern_women)
#> 
#> ── # Concept lattice of Southern Women Data ────────────────────────────────────
#> # A labelled, directed network of 65 nodes and 148 arcs
#> # Transformed by projection: concept lattice
#> 
#> ── Nodes 
#> # A tibble: 65 × 5
#>   label   extent     intent    extent_size intent_size
#>   <chr>   <list>     <list>          <int>       <int>
#> 1 C1      <chr [18]> <chr [0]>          18           0
#> 2 {E8}    <chr [14]> <chr [1]>          14           1
#> 3 {E9}    <chr [12]> <chr [1]>          12           1
#> 4 {E7}    <chr [10]> <chr [1]>          10           1
#> 5 Dorothy <chr [9]>  <chr [2]>           9           2
#> 6 {E5}    <chr [8]>  <chr [1]>           8           1
#> # ℹ 59 more rows
#> 
#> ── Ties 
#> # A tibble: 148 × 2
#>    from    to
#>   <int> <int>
#> 1     1     2
#> 2     1     3
#> 3     1     4
#> 4     1     6
#> 5     1     7
#> 6     1    11
#> # ℹ 142 more rows
#> 
# autograph::graphr(to_concepts(ison_southern_women), "layered")