multiplex-package: Algebraic Tools for the Analysis of Multiple Social Networks

Description Details Author(s) References See Also Examples


One of the aims of the 'multiplex' package is to meet the necessity to count with an analytic tool specially designed for social networks with relations at different levels. In this sense, 'multiplex' counts with functions that models the local role algebras of the network based on the simple and compound relations existing in the system, and also a procedure for the construction and analysis of signed networks through the semiring structure. The different relational patterns at the dyadic level in the network can be obtained as well, which can serve for a further analysis with different types of structural theories.

It is also possible to take the attributes of the actors in the analysis of multiple networks with different forms to incorporate this kind of information to the existing relational structures. In this case for example the network exposure of the actors can be taken in the context of multiple networks, or else the attributes can be embedded in the resulted algebraic structures.


Package: multiplex
Type: Package
Version: 2.5
Date: 24 January 2017
License: GPL-3
LazyLoad: yes

To work with this package we typically start with a specific algebraic structure. A semigroup is a closed system made of a set of elements and an associative operation on it. This algebraic structure is constructed by the semigroup function, and it takes an array of (usually but not necessarily) multiple binary relations, which are the generator relations. The Word Table and the Edge Table serve to describe completely the semigroup, and they are constructed with the functions wordT and edgeT respectively. Unique relations of the complete semigroup are given by the strings function. The partial.order function specifies the ordering of the string elements in the semigroup. The function diagram produces the lattice of inclusions of a structure having ordered relations.

Semigroups can be analysed further by ltlw function, and they also can be reduced by a decomposition process. The decomposition is based on congruence or π-relations of the unique strings imported from Pacnet. In this case pi.rels, cngr, and decomp will make this job for you either for an abstract or a partially ordered structure.

In addition, it is possible to analyse structural balance in signed networks, which are built by signed, through the algebraic structure of the semiring. A semiring is an algebraic structure that combines an abstract semigroup with identity under multiplication and a commutative monoid under addition. The semiring function is capable to perform both balance and cluster semiring either with cycles or semicycles.

There are other capabilities in the package that are not strictly algebraic. For instance, the dichot serves to dichotomize the input data with a specified cut-off value, rm.isol removes isolated nodes, and the perm function performs an automorphism of the elements in the representative array. All these functions are built for multiple networks represented by high dimensional structures that can be constructed by the function zbind.

The 'multiplex' package creates a Relation-Box with the rbox function, and it implements the Partial Structural Equivalence expressed in the cumulated person hierarchy of the network calculated via the cph function.

Relational bundles are identified through the bundles function, which provides lists of pair relations. The transf function serves to transform such data into a matrix form. The enumeration of the different bundle classes is given by bundle.census. An advantage of counting with the bundle patterns is that the different types of bundles serve to establish a system inside the network, in which it is possible to measure the network exposure in multivariate relational systems. Such features can be realized via the rel.sys and expos functions respectively. Several attributes can be derived by galois, which provides an algebraic approach for two-mode networks.

Finally, multivariate network data can be created through the (s)end (r)eceive (t)ies format that can be loaded and transformed via the function. Other formats for multiple network data like Ucinet dl or Visone gml can be imported and exported as well with the 'multiplex' package.


J. Antonio Rivero Ostoic

Maintainer: Antonio Rivero Ostoic <>


Pattison, Philippa E. Algebraic Models for Social Networks. Cambridge University Press. 1993.

Boyd, John P. Social Semigroups. A unified theory of scaling and blockmodelling as applied to social networks. George Mason University Press. 1991.

Lorrain, Fran<e7>ois and Harrison C. White, ‘Structural Equivalence of Individuals in Social Networks.’ Journal of Mathematical Sociology, 1, 49-80. 1971

Boorman, Scott A. and Harrison C. White, ‘Social Structure from Multiple Networks. II. Role Structures.’ American Journal of Sociology, 81 (6), 1384-1446. 1976.

Ostoic, J.A.R. Creating context for social influence processes in multiplex networks. Network Science, (forthcoming), doi:10.1017/nws.2016.28.

See Also

multigraph, bmgraph


## Create the data: two binary relations among three elements
arr <- round( replace( array(runif(18), c(3,3,2)), array(runif(18),
       c(3,3,2))>.5, 3 ) )

## Dichotomize it with customized cutoff value
dichot(arr, c = 3)

## preview

## create the semigroup (elay...)

## and look at the strings

Search within the multiplex package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.