Skip to content

multiplex: algebraic tools for the analysis of multiple social networks

Notifications You must be signed in to change notification settings

mplex/multiplex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRAN version CRAN Downloads


multiplex

Author: Antonio Rivero Ostoic (@mplex)


Abstract

Algebraic procedures for the analysis of multiple social networks are delivered with this package as described in Ostoic (2020) <DOI:10.18637/jss.v092.i11>.

  • "multiplex" makes possible, among other things, to create and manipulate multiplex, multimode, and multilevel network data with different formats.

  • Effective ways are available to treat multiple networks with routines that combine algebraic systems like the partially ordered semigroup with decomposition procedures or semiring structures with the relational bundles occurring in different types of multivariate networks.

  • "multiplex" provides also an algebraic approach for affiliation networks through Galois derivations between families of the pairs of subsets in the two domains of the network with visualization options.






Example: Partially Ordered Semigroup of Relations

### create network data: two types of relations among three elements
set.seed(123)
arr <- round( replace( array(runif(18), c(3,3,2)), array(runif(18),
        c(3,3,2))>.5, 3 ) )
### dichotomize data with customized cutoff value
dichot(arr, c = 3)
### string relations
strings(arr)
strings(arr, equat = TRUE, k = 3)
### create numerical or symbolic semigroup
semigroup(arr)
semigroup(arr, type = "symbolic")
### Green's relations of symbolic semigroup
semigroup(arr, type = "symbolic") |> 
  green.rel()
### create the partial order
strings(arr) |> 
  partial.order(type = "strings")
### plot partial order diagram
require("Rgraphviz", quietly = TRUE)
strings(arr) |> 
  partial.order(type = "strings") |> 
  diagram(type = "hasse")

or equivalently:

### plot hasse diagram of the partial order
require("Rgraphviz", quietly = TRUE)
strings(arr) |> 
  partial.order(type = "strings") |> 
  hasse()






Example: Working with a Two-Mode Network data set

(taken from the multiplex vignette)

### Fruits data
frt <- data.frame(yellow = c(0,1,0,0,1,0,0,0), green = c(0,0,1,0,0,0,0,1), 
                  red = c(1,0,0,1,0,0,0,0), orange = c(0,0,0,0,0,1,1,0), 
                  apple = c(1,1,1,1,0,0,0,0), citrus = c(0,0,0,0,1,1,1,1))
rownames(frt) <- c("PinkLady", "GrannySmith", "GoldenDelicious", "RedDelicious", 
                   "Lemon", "Orange", "Mandarin", "Lime")
### Perform Galois connections among subsets with a reduced labeling
galois(frt, labeling = "reduced")
### Get the partial order of these "concepts"
galois(frt, labeling = "reduced") |> 
  partial.order(type = "galois")
### Plot the concept lattice of the partial order
require("Rgraphviz", quietly = TRUE)
galois(frt, labeling = "reduced") |> 
  partial.order(type = "galois") |> 
  diagram(type = "concept")





 

About

multiplex: algebraic tools for the analysis of multiple social networks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages