| multiplex-package | R Documentation |
Algebraic procedures for analyses of multiple social networks are provided with this package as described in Ostoic (2020) <DOI:10.18637/jss.v092.i11>. 'multiplex' supports the creation and analysis of multiplex, multimode, and multilevel network data in various formats. It combines methods based on partially ordered semigroups, decomposition procedures, semiring structures, and relational bundles for multivariate network analysis. It also provides an algebraic approach to affiliation networks using Galois derivations, with visualization options.
| Package: | multiplex |
| Type: | Package |
| Version: | 4.0 |
| Date: | 29 July 2026 |
| License: | GPL-3 |
One aim of the multiplex package is to provide an analytical tool specifically designed for social networks with relationships at multiple levels. It includes functions for modelling local role algebras based on the simple and compound relations present in the network. multiplex also supports the construction and analysis of signed networks through semiring structures. In addition, it can identify dyadic relational patterns that may support further analysis using a range of structural theories. The package can also incorporate actor attributes into the analysis of multiple networks in different ways. For example, it can assess the network exposure of actors in a multiplex context or embed attribute information directly into the resulting algebraic structures.
A typical workflow starts with function semigroup, which constructs a semigroup from an array of multiple binary relations.
The resulting structure can be described with functions wordT and edgeT.
Unique relations and associated equations are returned by strings function together with the set of equations with strings of length k.
Ordering among string elements is defined by function partial.order, and the corresponding lattice can be displayed with functions hasse or diagram.
Further semigroup analysis is available through function green.rel for equivalence classes and diagram function again for “egg-box” visualization.
Structure reduction of semigroup objects is supported through decomposition based on congruence relations or \pi-relations using functions pi.rels, cngr, and decomp.
Signed networks can be created with function signed and analysed with function semiring for balance or cluster semiring structures.
General network analysis utilities in multiplex include function dichot for dichotomization of matrices and arrays,
rm.isol for removing isolates, perm for permutation operation, and function zbind for building three-dimensional arrays.
The package multiplex also provides function rbox for Relation-Box construction and function cph for Cumulated Person Hierarchy in the network.
Bundle analysis is supported by functions bundles, transf, bundle.census, and summaryBundles.
Network exposure and relational-system analysis are available through functions rel.sys and expos, while galois supports algebraic analysis of two-mode networks.
Multivariate network data can be imported from send-receive-ties edge lists with function edgel and from formats such as UCINET dl and Visone gml.
Multiple network structures can be visualized further with the related package multigraph.
J. Antonio Rivero Ostoic
Maintainer: Antonio Rivero Ostoic <multiplex@post.com>
Pattison, P.E. Algebraic Models for Social Networks. Structural Analysis in the Social Sciences. Cambridge University Press. 1993.
Boyd, J.P. Social Semigroups. A unified theory of scaling and blockmodelling as applied to social networks. George Mason University Press. 1991.
Lorrain, F. and H.C. White, “Structural Equivalence of Individuals in Social Networks.” Journal of Mathematical Sociology, 1, 49-80. 1971.
Boorman, S.A. and H.C. White, “Social Structure from Multiple Networks. II. Role Structures.” American Journal of Sociology, 81 (6), 1384-1446. 1976.
Ostoic, J.A.R. Algebraic Analysis of Social Networks. Wiley Series in Computational and Quantitative Social Sciences. Wiley. 2021.
multigraph, bmgraph, ccgraph.
# create a three-dimensional array
arr <- round( replace( array(runif(18), c(3,3,2)), array(runif(18),
c(3,3,2))>.5, 3 ) )
# dichotomize array with customized cutoff value
dichot(arr, c = 3)
# construct the semigroup structure and look at its Green relations
semigroup(arr) |>
green.rel()
# look at string relations
strings(arr)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.