Functions for constructing, simulating, and importing one-mode and two-mode networks:

create_empty() create_complete() create_ring() create_components() create_star() create_tree() create_lattice()

Create networks with particular structures

generate_random() generate_smallworld() generate_scalefree() generate_permutation()

Create networks from particular probabilities

read_edgelist() write_edgelist() read_nodelist() write_nodelist() read_pajek() write_pajek() read_ucinet() write_ucinet()

Reading from/writing to external formats


Functions for coercing objects between different classes, testing the properties of migraph-consistent objects, and transforming the type of network:

as_edgelist() as_matrix() as_igraph() as_tidygraph() as_network()

Coercion between migraph-compatible object classes

is_migraph() is_graph() is_edgelist() is_twomode() is_weighted() is_directed() is_labelled() is_signed() is_connected() is_complex() is_multiplex() is_uniplex() is_acyclic()

Logical tests of network properties

to_uniplex() to_main_component() to_undirected() to_unweighted() to_unsigned() to_unnamed() to_named() to_simplex() to_mode1() to_mode2() to_onemode() to_multilevel() to_edges() to_subgraph()

Tools for reformatting networks, graphs, and matrices

add_node_attributes() add_edge_attributes() copy_node_attributes() join_edges()

Adding and copying attributes from one graph to another

node_names() node_mode() node_attribute() edge_attribute() edge_weights() edge_signs() graph_nodes() graph_edges() graph_dims() graph_node_attributes() graph_edge_attributes()

Helpers to grab various attributes from nodes or edges in a graph


Functions for plotting and visually graphs of different types:


Quickly graph networks with sensible defaults

layout_tbl_graph_frgrid() layout_tbl_graph_kkgrid() layout_tbl_graph_gogrid()

Layouts for snapping layouts to a grid

plot(<block_model>) ggtree() ggidentify_clusters()

ggplot2-based plotting of blockmodel results


Plot lineage graph


Plot the evolution of a network


Plotting a network at a particular timepoint (year)


Functions for measuring multimodal and multilevel networks. Note that all node_ measures return a single vector so that they can be added directly to graph objects, though two-mode results will be printed in two sections All graph_ measures return a single value.

node_degree() edge_degree() graph_degree() node_closeness() edge_closeness() graph_closeness() node_betweenness() edge_betweenness() graph_betweenness() node_eigenvector() edge_eigenvector() graph_eigenvector()

Centrality and centralization for one- and two-mode networks

graph_density() edge_reciprocal() graph_reciprocity() graph_transitivity() graph_equivalency() graph_congruency() edge_multiple() edge_loop()

Cohesion for one-, two-, and three- mode networks

graph_blau_index() graph_ei_index() graph_assortativity()

Measures of network diversity


Constraint for one- and two-mode networks


Watts-Strogatz small-world model for two-mode networks

graph_components() graph_cohesion() graph_adhesion() graph_length() graph_diameter() node_components() node_cuts() edge_bridges()

Network connectedness


Structural balance


Functions for calculating subgraphs in multimodal and multilevel networks:

node_tie_census() node_triad_census() node_quad_census() group_tie_census() group_triad_census()

Census by nodes or clusters

graph_mixed_census() graph_dyad_census() graph_triad_census()

Censuses for the whole graph


Functions for modelling multimodal and multilevel networks:


Linear and logistic regression for network data

test_random() test_permutation()

Conditional uniform graph and permutation tests

cluster_structural_equivalence() cluster_regular_equivalence()

Clustering algorithms

blockmodel() blockmodel_concor() print(<block_model>) reduce_graph() summarise_statistics()


plot(<block_model>) ggtree() ggidentify_clusters()

ggplot2-based plotting of blockmodel results


The package contains two collections of multimodal, multilevel, and multiplex network data, including data used in the book Multimodal Political Networks (prefixed with mpn_) and for the course ‘Social Networks Theories and Methods’ (ison_).


Multimodal (3) Bristol protest events, 1990-2002 (Diani and Bison 2004)


One-mode Mexican power elite database (Knoke 1990)

mpn_elite_usa_advice mpn_elite_usa_money

Two-mode and three-mode American power elite database (Domhoff 2016)

mpn_IT_1990 mpn_IT_2008 mpn_DE_1990 mpn_DE_2008 mpn_UK_1990 mpn_UK_2008

Two-mode European Values Survey, 1990 and 2008 (EVS 2020)


One-mode EU policy influence network, June 2004 (Christopoulos 2006)

mpn_DemSxP mpn_RepSxP mpn_OverSxP

Two-mode 112th Congress Senate Voting (Knoke et al. 2021)


One-mode subset of the adolescent society (Coleman 1961)


Multiplex graph object of friends, social, and task ties (McFarland 2001)


One-mode centrality demonstration network


One-mode karateka network (Zachary 1977)

ison_marvel_teams ison_marvel_relationships

Multilevel two-mode affiliation, signed one-mode networks of Marvel comic book characters (Yüksel 2017)


One-mode EIES dataset (Freeman and Freeman 1979)

ison_mm ison_bm ison_mb ison_bb

Two-mode projection examples (Hollway 2021)


Two-mode southern women (Davis, Gardner and Gardner 1941)