README.md |
Awesome Network Analysis
An awesome list of resources to construct, analyze and visualize network data.
Table of Contents
- Books
- Conferences
- Courses
- Datasets
- Journals
- Professional groups
- Review Articles
- Software
- Tutorials
- Varia
- Contribution Guidelines
Inspired by Awesome Deep Learning and Awesome Math.
Books
General Overviews
- Networks. An Introduction, by Mark E.J. Newman (2010).
- Networks, Crowds, and Markets: Reasoning About a Highly Connected World, by David Easley and Jon Kleinberg - Complete pre-publication draft (2010).
- Réseaux sociaux et structures relationnelles, by Emmanuel Lazega, in French (2014).
- Sociologie des réseaux sociaux, by Pierre Mercklé, in French (2011).
- Social and Economic Networks, by Matthew O. Jackson (2008).
- Social Network Analysis. Methods and Applications, by Stanley Wasserman and Katherine Faust (1994).
- Studying Social Networks. A Guide to Empirical Research, by Marina Hennig et al. (2013).
Graph Theory
- Graph Theory, by Reinhard Diestel - Full electronic version online (2000).
Method-specific
- Exponential Random Graph Models for Social Networks, edited by Dean Lusher, Johan Koskinen and Garry Robins (2013).
- Inferential Network Analysis, by Skyler J. Cranmer, Bruce A. Desmarais and Jason Morgan (forthcoming).
- Multilevel Network Analysis for the Social Sciences, edited by Emmanuel Lazega and Tom A.B. Snijders (2016).
- Network Analysis: Methodological Foundations, edited by Ulrik Brandes and Thomas Erlebach - Covers network centrality, clustering, blockmodels, spatial networks and more (2005).
- Political Networks. The Structural Perspective, by David Knoke (1994).
Software-specific
- Analyzing Social Networks (using UCINET), by Stephen P. Borgatti, Martin G. Everett and Jeffrey C. Johnson (2013).
- Network Analysis with R/igraph, by Gabor Csárdi, Thomas Nepusz and Eduardo M. Airoldi (in preparation).
- Network Analysis with Python/igraph, by Thomas Nepusz, Gabor Csárdi and Eduardo M. Airoldi (in preparation).
- Statistical Analysis of Network Data with R, by Eric D. Kolaczyk and Gabor Csárdi (2014).
Topic-specific
- Neighbor Networks. Competitive Advantage Local and Personal, by Ronald S. Burt (2010).
- Comparing Policy Networks. Labor Politics in the U.S., Germany, and Japan, by David Knoke et al. (1996).
Conferences
- PolNet - Annual Political Networks Workshops and Conference (APSA).
- NetSci (Network Science Society).
- Sunbelt (INSNA).
Courses
- Complex Networks, by Peter Sheridan Dodds (University of Vermont, 2016).
- Graph Theory and Applications, by Paul Van Dooren - Full lecture slides (Hamilton Institute, Dublin, 2009).
- Graph Theory: Penn State Math 485 Lecture Notes, by Christopher Griffin - Full lecture notes (Penn State University, 2012).
- Networks, Complexity and Its Applications, by Cesar Hidalgo (MIT, 2011).
- Networks (Economics), by Daron Acemoglu and Asu Ozdaglar (MIT, 2009).
- Political Networks: Methods and Applications, by Zeev Maoz (University of California in Davis, 2012).
- Social and Economic Networks: Models and Analysis, by Matthew O. Jackson (Stanford University via Coursera, 2015).
- Social Network Analysis, by Lada Adamic (University of Michigan via Coursera, not yet run).
Datasets
See also Mangal, an online platform and collection of tools to analyze, archive and share ecological network data (preprint, Python package, R package).
- Gephi Datasets.
- igraphdata - Data sets intended for use with the igraph R package.
- KONECT - The Koblenz Network Collection.
- James H. Fowler's Cosponsorship Network Data Page.
- Manlio De Domenico's Multilayer Networks.
- Mark E.J. Newman's Network Data.
- Pajek Datasets
- Siena Datasets.
- Stanford Large Network Dataset Collection.
- tnet Datasets.
- UCI Network Data Repository.
Journals
Journals that are not fully open-access are marked as "gated".
- Applied Network Science (Springer Open).
- Computational and Mathematical Organization Theory (Springer, gated).
- Computational Social Networks (Springer Open).
- Connections (INSNA).
- Journal of Complex Networks (Oxford, gated).
- The Journal of Mathematical Sociology (Taylor & Francis, gated).
- Journal of Social Structure (INSNA).
- Network Science (Cambridge, gated).
- REDES, in Spanish (INSNA).
- Social Network Analysis and Mining (Springer, gated).
- Social Networks (Elsevier, gated).
Professional groups
- AFS RT 26 “Réseaux sociaux” - Thematic Network of the French Sociological Association, in French.
- ECPR Political Networks SG - Standing Group of the European Consortium for Political Research (Twitter account).
- GDR Analyse de réseaux en sciences humaines et sociales, in French.
- Groupe FMR - Flux, Matrices, Réseaux, in French.
- INSNA: International Network for Social Network Analysis (SOCNET mailing-list).
- NetSci: Network Science Society.
- APSA Political Networks - Organized Section of the American Political Science Association.
Review Articles
- "Graph Theory and Networks in Biology" (preprint; IET Systems Biology, 2007).
- "Network Analysis and Political Science" (Annual Review of Political Science, 2011).
- "Statistical Models for Social Networks" (Annual Review of Sociology, 2011).
Software
Several links in this section come from the NetWiki Shared Code page.
See also the Social Network Analysis Project Survey, an earlier attempt to chart social network analysis tools, which links to many commercial platforms not included in this list, such as Detective.io (related blog post).
- CONGA and CONGO - Algorithms to detect overlapping communities in networks, written in Java.
- Cytoscape - Cross-platform Java program to build, analyze and visualize networks.
- Discourse Network Analyzer (DNA) - Qualitative content analysis tool with network export facilities, written in Java with R integration.
- Gephi - Cross-platform, free and open source tool for network visualization.
- Graphviz - Cross-platform software to draw graphs in the DOT language.
- MuxViz - Cross-platform, free and open source multilayer network analysis And visualization platform, based on R and GNU Octave.
- Neo4j - Open source, scalable graph database, used by companies like Linkurious.
- NodeXL - Free, open-source template to explore network graphs with Microsoft Excel.
- ORA-LITE - Windows program for dynamic meta-network assessment and analysis.
- Pajek - Windows program for large network analysis, free for noncommercial use.
- PNet - Simulation and estimation of exponential random graph models (ERGMs), written in Java for Windows.
- Siena - Simulation Investigation for Empirical Network Analysis. Formerly a Windows program, now developed as the RSiena R package.
- SoNIA (Social Network Image Animator) - Tool to visualize dynamic or longitudinal network data. Formerly a Java program, now developed as the ndtv R package.
- UCINET - Windows commercial software package for the analysis of social network data.
- vbmod: Variational Bayesian Inference for Network Modularity - MATLAB and Python implementations of the Bayesian community detection algorithm.
- Visone - Cross-platform Java network analysis and visualization program, free for noncommercial use.
- VOSviewer - Cross-platform Java tool for constructing and visualizing bibliometric networks.
- weighted-modularity-LPAwbPLUS - Julia, MATLAB and R implementations of two algorithms to find weighted modularity in bipartite networks.
C / C++
- Boost Graph Library (BGL) - C++ library that provides a generic interface to access graph structures.
- igraph - C library of network analysis tools; also exists as packages for Python and R.
- Louvain Method - C++ code for the Louvain multi-level community detection algorithm.
- networks.tb - C program designed for analyzing socio-semantic networks. Runs on Linux and Mac OS X.
- Stanford Network Analysis Project - C++ general purpose network analysis and graph mining library; available as a Python library and through NodeXL.
- Walktrap - C++ program that implements the [WalkTrap community detection algorithm](Computing communities in large networks using random walks (long version).
JavaScript
For more awesome JavaScript libraries, see the Awesome JavaScript list.
- d3.js - JavaScript visualization library that can plot force-directed graphs.
- jLouvain - Louvain community detection for Javascript (example).
- Sigma - JavaScript library dedicated to graph drawing.
- vis.js - JavaScript library with network visualization capabilities.
MATLAB
- CONTEST - Random network toolbox that implements nine network models.
- Generalized Louvain - A variant of the Louvain community detection algorithm.
- MatlabBGL - A graph library for Matlab, based on the Boost graph library.
Python
Most items below are from a Google spreadsheet by Michał Bojanowski and others.
For more awesome Python packages, see the Awesome Python list.
- 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.
- networkx - Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
- python-igraph - Python version of the igraph network analysis package.
R
See also this Google spreadsheet by Ian McCulloh and others.
For more awesome R resources, see the Awesome R and Awesome R Books lists.
- Bergm - Tools to analyse Bayesian exponential random graph models (BERGM).
- CCAS - A statistical model for communication networks.
- concoR - A translation of the CONCOR network blockmodeling algorithm (blog post).
- ContentStructure - implements an extension to the Topic-Partitioned Multinetwork Embeddings (TPME) model.
- ergm - Estimation of Exponential Random Graph Models (ERGM).
- GERGM - Estimation and diagnosis of the convergence of Generalized Exponential Random Graph Models (GERGM).
- geomnet - A single-geometry approach to network visualization with ggplot2.
- ggnetwork - A multiple-geometries approach to plot network objects with ggplot2.
- ggraph - A 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.
- influenceR - Compute various node centrality network measures by Burt, Borgatti and others.
- latentnet - Latent position and cluster models for network objects.
- networkD3 - D3 JavaScript network graphs from R.
- ndtv - Tools to construct animated visualizations of dynamic network data in various formats.
- network - Basic tools to manipulate relational data in R.
- networkDynamic - Support for dynamic, (inter)temporal networks.
- rgexf - Export network objects from R to GEXF, for manipulation with network software like Gephi or Sigma.
- Rgraphviz - Support for using the Graphviz library and its DOT language from within R.
- RSiena - Simulation Investigation for Empirical Network Analysis; fits models to longitudinal network data.
- sna - Basic network measures and visualization tools.
- spectralGOF - Compute 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).
- tergm - Fit, simulate and diagnose models for temporal exponential-family random graph models (TERGM).
- 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).
Tutorials
- Analyse des réseaux : une introduction à Pajek, in French (2011).
- Basic and Advanced Network Visualization with Gephi and R (2016).
- Exponential Random Graph Models (ERGMs) Using statnet (2015).
- Guides for Using the statnet Package (2010).
- Implementing an ERGM From Scratch in Python (2014).
- L'analyse des graphes bipartis, in French (2013).
- La détection de communautés avec Pajek 3.6, in French (2012).
- Lessons on Exponential Random Graph Modeling from Grey’s Anatomy hook-ups (2012).
- Modeling Valued Networks with statnet (2013).
- Network Analysis and Visualization with R and igraph (2016).
- Practical Social Network Analysis With Gephi (2014).
- Static and Dynamic Network Visualization with R (2015).
- Working with Bipartite/Affiliation Network Data in R (2012).
Varia
- A Sociology Citation Network and A Co-citation Network for Philosophy - Examples of scientific co-citation networks.
- Basic Notions for the Analysis of Large Two-mode Networks - Introduction to bipartite network analysis (related code).
- Blog Posts About Networks on the Bad Hessian Blog, by various contributors.
- Blog Posts About Networks by Baptiste Coulmont, in French.
- Blog Posts About Networks by Pierre Mercklé, in French.
- Center for Network Science - A research center with a PhD in Network Science program at the Central European University in Budapest.
- David Knoke on Network Analysis - A 20-minute interview that discusses the uses and benefits of network analysis, drawing upon Knoke's research on terrorist networks.
- How Small is the World, Really? - A discussion of "x degrees of separation" small-world experiments.
- How to Draw Graphs in LaTeX? - An illustration of how to use PGF/TikZ to draw graphs in the LaTeX typesetting environment.
- Interdependence in Governance and Policy - Network-oriented research group led by Bruce A. Desmarais at Penn State University.
- Large Graphs and Networks - Research group at the Catholic University of Louvain.
- NetWiki - Wiki of various network analysis resources.
- Networks Demystified, a series of blog posts by Scott B. Weingart.
- Network Fact - Twitter account about networks, graph theory, and related topics.
- Patterns in the Ivy: The Small World of Metal - An example of a two-mode network analysis based on metal artists and bands.
- The Performativity of Networks - A paper that connects network theory to the sociology of science.
- Peter J. Mucha's Research Group at the University of North Carolina at Chapel Hill - As it says on the box.
- Social Network Analysis Group @ Stanford - As it says on the box.
- Social Network Analysis Software - Wikipedia English entry with links to many commercial and often outdated software.
- Star Wars Social Networks: The Force Awakens - An example of a social network analysis written in F#.
- Videos from the Political Networks 2009 Conference.
Contribution Guidelines
Please contribute to this list by sending a pull request after reading the Contribution Guidelines for stylistic indications.
- All resources are listed alphabetically, with date and language mentions when relevant.
- Authors are mentioned for books and courses only.
- Journals require the name of the publisher.
- Review Articles require a journal and a date.
- R packages: please cite the stable CRAN version when it exists.
- Python packages: please cite the PyPi version when it exists.
- Software should be at least free for noncommercial use (only few exceptions will be granted).
Remember that an awesome list has to be, well, awesome. The "Awesome Manifesto" states:
Only awesome is awesome
Research if the stuff you're including is actually awesome. Put only stuff on the list you or another contributor can personally recommend and rather leave stuff out than include too much.
...
Comment on why something is awesome
Apart from suggesting a particular item on your list, you should also inform your readers why it's on the list and how they will benefit from it.
Please also add your name to the copyright waiver below, with an optional link to your personal homepage, GitHub profile or social media profile.
License
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 – have waived all copyright and related or neighboring rights to this work.