Networks

Getting Started

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

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

NodeXL

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

Netlytic

Netlytic 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.

InfraNodus

InfraNodus 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

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

ggraph – For network plotting in R‘s ggplot/tidyverse framework. This package has supplanted the ggnetwork package.

statnet

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: 

    • ergmAnalyze and simulate networks using exponential-family random graph models. 
    • tergm – Analyze dynamic or evolving network data using temporal exponential random graph models. 
    • latentnetFit and simulate latent space models of networks.
    • EpiModel Tools for simulating mathematical models of infectious disease dynamics.

NetworkX

Another python 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

intergraphFor converting between networks created using the igraph and statnet packages in R, the intergraph  package is a helpful tool.

visNetwork

visNetwork – 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

netCoin – A package for analyzing coincidence networks (particularly relevant to ecologists), equipped with broadly useful functions to build interactive and easily shareable network visualizations.

References

Books

Content for this researcher toolkit was written in July 2019 by Dr. Jane Carlen, DataLab’s former postdoctoral scholar, and is edited and maintained by DataLab staff.