Learn R Programming

⚠️There's a newer version (0.12.1) of this package.Take me there.

migraph

About the package

This package extends existing network analysis packages for analysing multimodal and multilevel networks. The package is intended as a software companion to the forthcoming book:

David Knoke, Mario Diani, James Hollway, and Dimitris Christopoulos (2021) Multimodal Political Networks.

Cambridge University Press: Cambridge.

How does migraph help?

Works with your current network analysis workflow

The package is offered as a complement to existing R packages for network analysis and thus tries to work well with your existing analytic workflows and the classes invoked. All {migraph} measures and models work with data in base formats:

  • adjacency and incidence matrices
  • one-mode and two-mode data frame edgelists

as well as with objects from the following packages:

Since v0.6.3, {migraph} can also import and export to UCINET files.

Extends your current network analysis workflow

{migraph} offers a range of measures and models with sensible defaults. Most wrap existing functions in common packages for use with one-mode networks, but extend these to treat and/or normalise for two-mode (and sometime three-mode) networks correctly. Functions are given intuitive and succinct names that avoid conflicts with existing function names wherever possible.

Manipulation

  • project_rows() and project_cols()
  • to_undirected(), to_unnamed(), to_unweighted(), to_onemode(), and to_main_component()

Measures

  • Centrality: node_degree(), node_closeness(), node_betweenness(), and node_eigenvector()
  • Centralization: graph_degree(), graph_closeness(), graph_betweenness(), and graph_eigenvector()
  • Cohesion: graph_density(), graph_reciprocity(), graph_transitivity(), graph_equivalency(),

node_constraint(), node_smallworld(), node_triad_census() and graph_triad_census()

Models

  • Blockmodelling: blockmodel_concor(), cluster_structural_equivalence(), cluster_regular_equivalence()
  • Linear regression: netlm()

Please explore the list of functions to find out more.

Installation

Stable

The easiest way to install the latest stable version of {migraph} is via CRAN. Simply open the R console and enter:

install.packages('migraph')

You can then begin to use {migraph} by loading the package:

library(migraph)

This will load all other required packages and also make the data contained within the package available.

Development

For the latest development version, for slightly earlier access to new features or for testing, you may wish to download and install the binaries from Github or install from source locally.

Binaries for all major OSes -- Windows, Mac, and Linux -- can be found by clicking on the latest release here. Download the appropriate binary for your operating system, and install using an adapted version of the following commands:

  • For Windows: install.packages("~/Downloads/migraph_winOS.zip", repos = NULL)
  • For Mac: install.packages("~/Downloads/migraph_macOS.tgz", repos = NULL)
  • For Unix: install.packages("~/Downloads/migraph_linuxOS.tar.gz", repos = NULL)

To install from source the latest main version of {migraph} from Github, please install the {remotes} package from CRAN and then enter into the console:

  • For latest stable version: remotes::install_github("snlab-ch/migraph")
  • For latest development version: remotes::install_github("snlab-ch/migraph@develop")

Relationship to other packages

It draws together, updates, and builds upon many functions currently available in other excellent R packages such as {bipartite}, {multinet}, {netmem}, and {tnet}, and implements many additional features currently only available outside the R ecosystem in packages such as UCINET.

Copy Link

Version

Install

install.packages('migraph')

Monthly Downloads

856

Version

0.8.2

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

James Hollway

Last Published

October 25th, 2021

Functions in migraph (0.8.2)

autographr

Quickly graph networks with sensible defaults
centrality

Centrality for one- and two-mode networks
census

Triad census by nodes or clusters
cohesion

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

Centralization for one- and two-mode networks
blockmodel

Blockmodelling
coercion

Coercion between graph/network object classes
blockmodel_visualisation

ggplot2-based plotting of blockmodel results
create

Create networks with particular structures
brandes

One-mode centrality demonstration structure
gglineage

Plot lineage graph
graph_balance

Structural balance
ggevolution

Plot the evolution of a network
node_constraint

Constraint for one- and two-mode networks
mpn_ryanair

One-mode EU policy influence network, June 2004
graph_triad_census

Triad census for the whole graph
node_smallworld

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

Visualising graphs and identifying nodes with maximum values of the specified measure.
ison_projection

Two-mode projection examples
mpn_evs

Two-mode European Values Survey, 1990 and 2008
marvel

Multiplex igraph of friends, social, and task ties between 16 anonymous students
ggraphgrid

Plot graph to grid
is

Tests of network properties
generate

Create networks from particular probabilities
reexports

Objects exported from other packages
southern_women

Two-mode southern women dataset
to

Tools for reformatting networks, graphs, and matrices
mpn_elite_usa_money

Three-mode American power elite database
mpn_elite_mex

One-mode Mexican power elite database
mpn_elite_usa_advice

Two-mode American power elite database
ison_coleman

One-mode subset of adolescent society dataset
ggatyear

Plotting network at particular timepoint (year)
ison_community

Zachary's kareteka network
mpn_senate112

Two-mode 112th Congress Senate Voting
mpn_bristol

Multimodal (3) Bristol protest events, 1990-2002
netlm

Linear regression for multimodal network data
ison_marvel

Multilevel two-mode affiliation, signed one-mode networks of Marvel comic book characters
project

Projecting two-mode objects into one-mode objects
read

Reading from/writing to external formats