If you are just starting out with network analysis, finding the right resources depends on whether you are interested in descriptive statistics of networks, visualization, or modeling. It also depends on your coding experience and may depend on your topic area of interest.
Resources for non-coders
Several free, interactive tools that don’t require any coding experience are available for manipulating and visualizing networks. Some have a specific focus, for example Netlytic is geared for analysis of social media data and InfraNodus is designed for text data.
Gephi is free and open-source software that allows you to visualize and explore networks. You can input network data (edgelists or matrices) and create customizable visualizations for networks, complex systems, and dynamic and hierarchical graphs. It’s quick to get started with, but more difficult to master as it involves learning Gephi’s user interface and file formats. Tutorials are available to learn the user interface. Visit Site
The free version of NodeXL
allows users to create network graphs from edgelists within Excel, and the Pro version includes more advanced network metrics, text and sentiment analysis, and a report generation tool. Neither version has been updated since 2015 but they are useful for users who don’t want to learn a programming language or external UI – all NodeXL tools operate within Excel. Visit Site
is a tool to gather and analyze online conversations from social network sites such as Twitter, Instagram, YouTube, Facebook, or your own dataset. Datasets can be explored and analyzed in Netlytic with a variety of text analysis, category analysis, and network analysis tools (and visualizations), and then exported to other network programs such as Pajek and UCINET, or a CSV format. The program is free for up to five datasets with up to 10,000 records in each. For more and bigger datasets, the site offers several tiers of pricing. The site includes tutorials on using the UI, and there are also tutorials
to integrate Netlytic with R
is an interactive tool that can be used for free online or downloaded from Github to create a network from text data. Network graphs show main topics, can compare different texts, visualize connections between citations and notes or estimate the bias/opinion of a discourse.
Basic R and Python packages
There are many well-documented packages for networks in the commonly used R and Python software languages. Our postdoc Jane Carlen led a workshop on network analysis in R covering most of the R packages listed below, recorded here, with corresponding code.
igraph – Offers a host of visualization and analysis tools for networks. If you’re interested in calculating things like degree distribution and centrality measures this is a good place to start. It has an R and python version and can also be used with Mathematica and C/C++.
ggraph – For network plotting in R‘s ggplot/tidyverse framework. This package has supplanted the ggnetwork package.
statnet – An R family of packages built for network modeling in an exponential family framework. Some plotting and descriptive tools are also provided. A few examples of statnet family packages:
- ergm – Analyze and simulate networks using exponential-family random graph models.
- tergm – Analyze dynamic or evolving network data using temporal exponential random graph models.
- latentnet – Fit and simulate latent space models of networks.
- EpiModel – Tools for simulating mathematical models of infectious disease dynamics.
resource is the NetworkX
package for the creation, manipulation, and study of complex networks.
Intermediate R packages
Here are some R packages that may be helpful after you’ve gained some experience with the basic packages.
intergraph – For converting between networks created using the igraph and statnet packages in R, the intergraph package is a helpful tool.
– Networks that are not small can be difficult to visualize, and it’s often useful to create interactive plots to expand the amount of data you show. visNetwork is a great package for turning network plots into interactive html objects. It works well with networks created in igraph.
netCoin – A package for analyzing coincidence networks (particularly relevant to ecologists), equipped with broadly useful functions to build interactive and easily shareable network visualizations.