A curated list of awesome network analysis resources.
Go to file
2016-11-06 19:10:28 +01:00
CONTRIBUTING.md publishing roadmap update 2016-09-06 14:35:16 +02:00
illustration.png permissions 2016-05-28 13:13:23 +02:00
README.md Add: Books: Topic-Specific: Bringmann dissertation 2016-11-06 19:10:28 +01:00

Awesome Network Analysis Awesome DOI

An awesome list of resources to construct, analyze and visualize network data.

Inspired by Awesome Deep Learning, Awesome Math and others.

Adamic and Glance’s network of political blogs, 2004.

Network of U.S. political blogs by Adamic and Glance (2004) (preprint).

Table of Contents

Books

Classics

  1. A Novitiate in a Period of Change: An Experimental and Case Study of Social Relationships, by Samuel F. Sampson (unpublished PhD dissertation, 1968).

Dissemination

Accessible introductions aimed at non-technical audiences.

  1. Connected: The Surprising Power of Our Social Networks and How They Shape Our Lives, by Nicholas A. Christakis and James H. Fowler (2009).

General Overviews

  1. Encyclopedia of Social Networks, edited by George A. Barnett - Covers all sorts of network-related themes (many of them not formal) as well as social network analysis (2011).

Graph Theory

  1. Complex Graphs and Networks, by Fan Chung and Linyuan Lu (2006).

Method-specific

  1. Bayesian Networks in R with Applications in Systems Biology, by Radhakrishnan Nagarajan, Marco Scutari and Sophie Lèbre (website; 2013).

Software-specific

  1. Analyzing Social Networks (using UCINET), by Stephen P. Borgatti, Martin G. Everett and Jeffrey C. Johnson (2013).

Topic-specific

  1. Communities and Networks: Using Social Network Analysis to Rethink Urban and Community Studies, by Katherine Giuffre (2013).

Conferences

Recurring conferences on network analysis.

  1. ASONAM - IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining.

Courses

  1. Complex Networks, by Peter Sheridan Dodds (University of Vermont, 2016).

Datasets

  1. Barabási and Albert Network Datasets.

Journals

Journals that are not fully open-access are marked as “gated”. Please also note that some of the publishers listed below are deeply hurting scientific publishing.

  1. Applied Network Science (Springer Open).

Professional Groups

  1. AFS RT 26 “Réseaux sociaux” - Thematic Network of the French Sociological Association (AFS), in French.

Research Groups (USA)

Network-focused research centers, (reading) groups, institutes, labs you name it based in the USA.

  1. Annenberg Networks Network (ANN) - Research group studying social networks at the University of Southern California.

Research Groups (Other)

Network-focused research centers, (reading) groups, institutes, labs you name it based outside of the USA.

  1. Cambridge Networks Network (CNN) - Research network on complex networks.

Review Articles

Archeological and Historical Networks

See also the bibliographies by Claire Lemercier and Claire Zalc (section on études structurales), by the Historical Network Research Group, and by Tom Brughmans.

  1. Analyse de réseaux et histoire, in French (Revue d'histoire moderne et contemporaine, 2005).

Bibliographic, Citation and Semantic Networks

  1. On Bibliographic Networks (Scientometrics, 2013).

Biological, Ecological and Disease Networks

  1. Biological Networks (Handbook of Graph Drawing and Visualization, 2013).

Complex Networks

  1. The Architecture of Complexity - From network theory to complexity theory (IEEE Control Systems Magazine, 2007).

Ethics of Network Analysis

  1. A Cautionary Note on Data Inputs and Visual Outputs in Social Network Analysis (SNA) (preprint; British Journal of Management, 2014).

Network Modeling

  1. A Brief History of Statistical Models for Network Analysis and Open Challenges (Journal of Computational and Graphical Statistics, 2012).

Network Visualization

  1. Explorations into the Visualization of Policy Networks (Journal of Theoretical Politics, 1999).

Social, Economic and Political Networks

See also the bibliographies by Eszter Hargittai, by Pierre François and by Pierre Mercklé.

  1. A propos de la notion de rôle dans l'analyse des relations sociales (Mathématiques et sciences humaines, 2011).

Selected Papers

A voluntarily short list of applied, epistemological and methodological articles, many of which have become classic readings in network analysis courses. Intended for highly motivated social science students with little to no prior exposure to network analysis.

  1. Aux sources des grands réseaux dinteractions. Retour sur quelques propriétés déterminantes des réseaux sociaux issus de corpus documentaires, by Pascal Cristofoli, in French - Reviews the current state of relational sociology and network analysis in light of the large-scale and online data (Réseaux, 2008).

Software

For a hint of why this section of the list might be useful to some, see Mark Rounds Map of Data Formats and Software Tools (2009).
Several links in this section come from the NetWiki Shared Code page, from the Cambridge Networks Network List of Resources for Complex Network Analysis, and from the Software for Social Network Analysis page by Mark Huisman and Marijtje A.J. van Duijn. For a recent academic review on the subject, see the Social Network Algorithms and Software entry of the International Encyclopedia of Social and Behavioral Sciences, 2nd edition (2015).
See also the Social Network Analysis Project Survey (blog post), an earlier attempt to chart social network analysis tools that links to many commercial platforms not included in this list, such as Detective.io. The Wikipedia English entry on Social Network Analysis Software also links to many commercial that are often very expensive, outdated, and far from being awesome by any reasonable standard.
Software-centric tutorials are listed below their program of choice: other tutorials are listed in the next section.

  1. ArcGIS Network Analyst - Network-based spatial analysis software for solving complex routing problems.

Algorithms

Network placement and community detection algorithms that do not fit in any of the next subsections.
See also the Awesome Algorithms and Awesome Algorithm Visualization lists for more algorithmic awesomess.

  1. algo.graph - Basic graph theory algorithms written in Clojure.

C / C++

For more awesome C / C++ content, see the Awesome C and Awesome C / C++ lists.

  1. Benchmark Graphs to Test Community Detection Algorithms - C++ code to generate weighted and unweighted graphs.

JavaScript

For more awesome JavaScript libraries, see the Awesome JavaScript list.

  1. Cytoscape.js - Network analysis and visualization library.
  • d3.js - JavaScript visualization library that can plot force-directed graphs.
  • GENSI - JavaScript graphical tool to collect ego-centered network data (paper).
  • GoJS - Visualization library to draw diagrams and several types of network layouts.
  • greuler - Visualization library to build and manipulate graphs through a simple API. Powered by d3.js and WebCola.
  • jLouvain - Louvain community detection for Javascript (example).
  • Popoto.js - Library based on d3.js that provides a graph based search interface.
  • Sigma - JavaScript library dedicated to graph drawing.
  • vis.js - JavaScript library with network visualization capabilities.
  • VivaGraphJS - Graph drawing library (ForceAtlas2 plugin).
  • viz.js - Use Graphviz in Web pages.

Julia

  1. EvolvingGraphs - Package to create, manipulate and study time-dependent networks.

MATLAB

  1. Brain Connectivity Toolbox - Toolbox for complex-network analysis of structural and functional brain-connectivity data, with links to many related projects.

Python

Many items below are from a Google spreadsheet by Michał Bojanowski and others.
See also Social Network Analysis with Python, a 3-hour tutorial by Maksim Tsvetovat and Alex Kouznetsov given at PyCon US 2012 (code).
For more awesome Python packages, see the Awesome Python and Awesome Python Books lists.

  1. graph-tool - Python module for network manipulation and analysis, written mostly in C++ for speed.
  • graphviz - Python renderer for the DOT graph drawing language.
  • linkpred - Assess the likelihood of potential links in a future snapshot of a network.
  • metaknowledge - Python package to turn bibliometrics data into authorship and citation networks.
  • networkx - Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
  • Implementing an ERGM from Scratch in Python, using networkx and numpy (2014).
  • npartite - Python algorithms for community detection in n-partite networks.
  • PyGraphistry - Python library to extract, transform, and visually explore big graphs.
  • python-igraph - Python version of the igraph network analysis package.
  • python-louvain - A solid implementation of Louvain community detection algorithm.
  • TQ (Temporal Quantities) - Python 3 library for temporal network analysis.

R

For more awesome R resources, see the Awesome R and Awesome R Books lists. See also this Google spreadsheet by Ian McCulloh and others.
To convert many different network model results into tidy data frames, see the broom package. To convert many different network model results into LaTeX or HTML tables, see the texreg package.

  1. amen - Additive and multiplicative effects models for relational data.
  • Bergm - Tools to analyse Bayesian exponential random graph models (BERGM).
  • bipartite - Functions to visualize bipartite networks and compute indices commonly used in ecological research.
  • blockmodeling - Implementats generalized blockmodeling for valued networks.
  • bnlearn - Tools for Bayesian network learning and inference (related Shiny app).
  • btergm - Tools to fit temporal ERGMs by bootstrapped pseudolikelihood. Also provides MCMC maximum likelihood estimation, goodness of fit for ERGMs, TERGMs, and stochastic actor-oriented models (SAOMs), and tools for the micro-level interpretation of ERGMs and TERGMs.
  • CCAS - Statistical model for communication networks.
  • concoR - Implementation of the CONCOR network blockmodeling algorithm (blog post).
  • ContentStructure - Implements an extension to the Topic-Partitioned Multinetwork Embeddings (TPME) model.
  • DiagrammeR - Connects R, RStudio and JavaScript libraries to draw graph diagrams (blog post).
  • ergm - Estimation of Exponential Random Graph Models (ERGM).
  • ERGM: edgecov and dyadcov Specifications.
  • GERGM - Estimation and diagnosis of the convergence of Generalized Exponential Random Graph Models (GERGM).
  • geomnet - Single-geometry approach to network visualization with ggplot2.
  • ggnetwork - Multiple-geometries approach to plot network objects with ggplot2.
  • ggraph - Grammar of graph graphics built in the spirit of ggplot2.
  • hergm - Estimate and simulate hierarchical exponential-family random graph models (HERGM) with local dependence.
  • igraph - A collection of network analysis tools.
  • Network Analysis and Visualization with R and igraph (2016).
  • influenceR - Compute various node centrality network measures by Burt, Borgatti and others.
  • keyplayer - Implements several network centrality measures.
  • latentnet - Latent position and cluster models for network objects.
  • lpNet - Linear programming model aimed at infering biological (signalling, gene) networks.
  • networkD3 - D3 JavaScript network graphs from R.
  • ndtv - Tools to construct animated visualizations of dynamic network data in various formats.
  • netdiffuseR - Tools to analyze the network diffusion of innovations.
  • network - Basic tools to manipulate relational data in R.
  • networkdiffusion - Simulate and visualize basic epidemic diffusion in networks.
  • networkDynamic - Support for dynamic, (inter)temporal networks.
  • networksis - Tools to simulate bipartite networks/graphs with the degrees of the nodes fixed and specified.
  • PAFit - Nonparametric estimation of preferential attachment and node fitness in temporal complex networks.
  • PCIT - Implements Partial Correlation with Information Theory in order to identify meaningful correlations in weighted networks, such as gene co-expression networks.
  • RCy3 - Interface between R and recent versions of Cytoscape.
  • relevent - Tools to fit relational event models (REM).
  • rem - Estimate endogenous network effects in event sequences and fit relational event models (REM), which measure how networks form and evolve over time.
  • rgexf - Export network objects from R to GEXF for manipulation with software like Gephi or Sigma.
  • Rgraphviz - Support for using the Graphviz library and its DOT graph drawing language from within R.
  • RSiena - Simulation Investigation for Empirical Network Analysis; fits models to longitudinal network data.
  • sna - Basic network constructors, measures and visualization tools.
  • SocialMediaLab - Tools for collecting social media data and generating networks from it (companion website, github repo).
  • spectralGOF - Computes the spectral goodness of fit (SGOF), a measure of how well a network model explains the structure of an observed network.
  • spnet - Methods for dealing with spatial social networks.
  • statnet - The project behind many R network analysis packages (mailing-list, wiki).
  • Exponential Random Graph Models (ERGMs) Using statnet (2015).
  • Guides for Using the statnet Package (2010).
  • Modeling Valued Networks with statnet (2013).
  • tergm - Fit, simulate and diagnose models for temporal exponential-family random graph models (TERGM).
  • tnam - Tools to fit temporal and cross-sectional network autocorrelation models (TNAM).
  • tnet - Network measures for weighted, two-mode and longitudinal networks.
  • tsna - Tools for temporal social network analysis.
  • visNetwork - Using vis.js library for network visualization.
  • xergm - Extensions of exponential random graph models (ERGM, GERGM, TERGM, TNAM and REM).

Stata

  1. nwcommands: Network Analysis Using Stata (discussion, tutorials and slides).
  • SNA with Stata - Blog documenting the use of the netplot Stata package.

Syntaxes

Generic graph syntaxes intended for use by several programs.

  1. DOT - Graph drawing syntax used by the Graphviz software.

Tutorials

Tutorials that are not focused on a single specific software package or program.

  1. Basic and Advanced Network Visualization with Gephi and R (2016).

Varia

Resources that do not fit in other categories.

  1. Centrality Measures as a Signature of Roles in Rousseaus Les Confessions - Analysis of a real-world character network.

Blog Series

Series of blog posts on network topics.

  1. Archaeological Networks - Tom Brughmans blog, aimed at archaeologists and historians.

Fictional Networks

Explorations of fictional character networks.

  1. Analyzing Networks of Characters in Love Actually - Features a cluster analysis and a Shiny app (using R + Shiny).

Network Science

Discussions of what “netsci” is about and means for other scientific disciplines.

  1. Editing a Normal Science Journal in Social Science - Reflections on the Social Networks journal by its founding editor.

Small Worlds

Links focused on (analogues to) Stanley Milgrams small-world experiment.

  1. The Erdös Number Project - Research project on the collaborative ties and network distance between mathematicians.

Two-Mode Networks

Also known as bipartite graphs.

  1. L'analyse des graphes bipartis, in French (2013).

License

CC0

To the extent possible under law, the authors of this list by chronological order: François Briatte, Ian McCulloh, Aditya Khanna, Manlio De Domenico, Patrick Kaminski, Ericka Menchen-Trevino, Tam-Kien Duong, Jeremy Foote, Catherine Cramer, Andrej Mrvar, Patrick Doreian, Vladimir Batagelj, Eric C. Jones, Alden S. Klovdahl, James Fairbanks, Danielle Varda, Andrew Pitts and Roman Bartusiak, Koustuv Sinha, Mohsen Mosleh have waived all copyright and related or neighboring rights to this work.

Thanks to Robert J. Ackland, Marc Flandreau, Wouter de Nooy, Katya Ognyanova, Cosma Shalizi and Tom A.B. Snijders, who helped locating some of the awesome resources featured in this list.