Which tool should I use? This is a complicated question, with not very satisfying, constantly evolving answers, so prepare for an evolving post. But first, three things that are actually more important than the choice of software.
- Should you really use network analysis? It is fashionable, we know. But it is not, as many would have it, the only interesting type of analysis of historical or humanistic data. In fact, it is empirically rare that historical/humanistic data lends itself to network analysis, let alone requires it. So, first, read our Chapter 6 carefully. Then look at this wonderful diagram by Marten Düring. And do not feel disappointed if you don’t perform network analysis. At least you won’t have to choose a tool!
- Vocabulary. Network analysis has a vocabulary of its own (two, actually, because it was imported from mathematics two separate times, as “social network analysis”, then as “network science”). Even though some of the tutorials for software below also present network concepts, you should really begin by understanding the concepts before experimenting with your data. Read our Chapter 6, plus some of the papers that we cite. And for the vocabulary, you should also have a look at Marten Düring’s excellent “cheat sheet” for humanists (or the more complete but more mathematically phrased glossary by Tom Brughmans). They address concepts that we did not have space to define in our book. Or you could use “Demystifying Networks” by Scott Weingart as a kind of short handbook.
- Data formats. The good thing is that all tools for network analysis require the same type of data: at least a list of ties (or links) (and very often, a list of individuals with attributes – be they persons or books, places, etc.). So you can input and categorize your data without knowing which tool you’ll use to analyze it (or knowing that you might use several tools). As always, this is the most important (long, difficult, and significant) stage of research and, fortunately, here we have good tutorials online. Marten Düring’s “From Hermeneutics to Data to Networks” gives excellent advice as to how to extract and categorize information on ties from heterogenous historical sources (on help provided to Jews in Nazi Germany). Benjamin Bach’s manual for his online tool The Vistorian more generally leads you in the preparation of data suitable for network analysis and visualization (not just in his tool).
Summaries on software
The list of software that might help you to visualize and (more importantly, in fact) analyze your network data is dizzyingly long, yet in my experience, there is no simple advice to be given to beginners in the humanities. This might change in the near future, but, to sum up the situation as I understand it:
- R packages are not easy to learn and to not easily address needs that are common when dealing with historical, archaeological, literary, or even sociological data (e.g. 2-mode data*, multiplex ties**, dynamic networks, etc.).
- Older software devised for the social sciences (Ucinet, Netdraw, Pajek) does not run easily on Macs and/or is a bit awkward to learn due to old interfaces. (I still favor it for my own use, but hesitate to use it to teach beginners)
- More recent software devised in the context of “digital humanities” or “big data” sometimes only offers visualizations at the expense of calculations; or does not offer the analysis tools that are useful in the social sciences (as opposed to in physics); or presents some analysis tools like “black boxes”, with little accessible documentation as to how they work. (contrary to many, we are no fans of Gephi, for this type of reasons; we do not object, of course, to advanced network researchers using it, but we do not find it well-suited to beginners)
A slightly different summary is given here by S. Graham, I. Milligan, & S. Weingart – it tends to converge with ours and Tom’s, expect that we are much less in love with Gephi (make your own opinion!).
In this context, here are some pointers to good tutorials; but be prepared, the tools behind the tutorials might not answer all your needs. (I have to re-check what each tool does and does not do in 2019, but at some point I’ll precisely list below which ones allow you to analyze or visualize multiplex data**, 2-mode data*, data that changes over time and spatialiazed data)
For beginners and/or visualization
- The Vistorian is strong in several regards. It is free, opensource, and available online. It is easy to use for beginners, with clear explanations as to how to format data. It offers rarely seen and effective visualizations, such as the matrix representations mentioned in our Chapter 6, as well as spatializations and representations of time. It is, however, aimed at visual exploration, not quantitative analysis per se; and as far as I know, you cannot export the visualizations in formats suitable for offline publication. One great thing about The Vistorian is that Tom Brughmans (one of the best teachers of quantitative methods whom I know) wrote an excellent tutorial, with Benjamin Bach, who created The Vistorian. It is written for archaeologists and uses of actual data (on Roman tablewares), but it is also good for beginners in other disciplines.
- Visone is a more complete tool, but still beginner-friendly. It is free and works on all computers. Although its strength is visualization rather than analysis, it does compute some indicators. And for complicated reasons, it allows you to create subtle models of networks dynamics by running Siena (which we briefly mention in our Chapter 6). Visone’s visualizations are more classical than The Vistorian’s; you can switch between the two if you want different views of your network. One great thing about Visone is that Tom Brughmans also wrote an excellent step-by-step tutorial, this time with Daniel Weidele. It is written for archaeologists and uses actual data (on Maya obsidian), but it is also good for beginners in other disciplines. It addresses spatialization.
- NodeXL is a strange beast: you need Excel to run it (specific versions of Excel, in fact), yet it is free, and quite nice for beginners who accept to use Excel. The really nice thing is that, if you have inputted your data, including data on ties, in Excel in the way we advise you to in our book, you can directly visualize them and compute a few indicators without leaving Excel. One of the not-so-nice things is what it cannot deal with 2-mode data*. Large networks (more than a thousand nodes, say) are also a problem, and you quickly reach the limits of the visualization possibilities (don’t even think of spatialized data). For now, I am not a big fan of the English tutorials for NodeXL that I have read. There is also a book. But the tool might be intuitive enough to be used without a tutorial – provided that you know network concepts.
- Netdraw ran from a floppy disk when I was young: it’s a very simple program. Its graphs are admittedly not pretty and not easily transformed into publishable ones. But it is very intuitive, with a surprising variety of options (incl. spatialization if you use latitude and longitude as attributes of nodes, graphs over time if you use dates as attributes of ties, etc.) accessible in a few clicks. And, contrary to its big brother Ucinet, it’s free (not open-source); but it doesn’t run on Macs. My tenderness for it might be irrational. Let’s say that if you are a beginners who wants to explore his or her data visually and is not convinced by more recent tools, it’s still worth a try. Its tutorial is old but efficient.
- Marten Düring’s “From Hermeneutics to Data to Networks” can also be used as an introductory tutorial for Palladio. I have not tried Palladio yet. I seem to understand that it is nice for beginners who want spatial or temporal visualizations, but I have also heard that you quickly reach its limits (and sometimes crashes). I am not sure about the calculation possibilities.
For non-beginners and/or analysis
You will notice that for now, we do not full-heartedly recommend any of the solutions below. We hope that the situation will change soon! So, in no particular order:
- Pajek was, ten to fifteen years ago, the undisputed favorite of sociologists, and the few in other disciplines who were interested. In my view, it is still a good choice if (and only if) you can find a course to learn it with an actual teacher. It is free, it handles very large networks and it offers many, well-documented possibilities for analysis and visualization (including, with a bit of tinkering, matrix visualization). It also has documentation in many languages. However, data formats are definitely not intuitive – a high hurdle to jump for beginners. There are many, many menus and sub-menus, so that finding what you want to do is often not easy. It was written for Windows; it is possible but cumbersome to install it if you use a Mac or Linux. There is a very good manual (esp. for sociologists; also good to learn network concepts generally), but it is a book (it also exists in Chinese and Japanese).
- If you are more interested in analysis than visualization, and your network is not too large (not thousands of nodes), Ucinet, the sociologists’ classic, remains an interesting choice; but it has drawbacks, the most important ones being that it requires Windows and it is not free (not very expensive either; but not open-source). The good things are the variety of methods implemented and the quality of their documentation. Although there is a more recent book, the older online manual by Robert A. Hanneman and Mark Riddle still is a great introduction to network methods generally, as well as a software tutorial. Still, I would not advise beginners to start with Ucinet today. But you should know that it’s there; and if you want to do something that you don’t find how to do with your usual software, check whether Ucinet could help (in the manual, or by leaving a comment here).
- For want of a better tool, I have seen some humanists use Cytoscape, a free, multi-platform tool developed for biologists. Tom Brughmans also wrote a tutorial based on archaeological data. This tool might be better for you than the previous ones in my list if you know that you want to analyze your data (produce indicators) rather than just visualize it (although it also produces visualizations – classical ones). It is particularly efficient at importing data of diverse types, and it supports multiplex data**. It does not have features dedicated to spatial or temporal data (although you can very probably circumvent this with creativity). Its main drawback for applications in the humanities and social sciences is that it is cumbersome to use it with 2-mode data*.
- If you are curious about Gephi (we won’t forbid it!), a good place to start could be the Harvard-based Visualizing Historical Networks website. It showcases visualizations created from historical data (on all periods) and allows you to download the data and experiment with it yourself. As for tutorials, on the basis of what she did for R, I would tend to trust Katherine Ognyanova. I also recommend Martin Grandjean’s, especially as he addresses spatialization, and 2-mode data* (which was for a long time one of the weaknesses of Gephi). You should not, however, use the communities/modularity analysis as he does, without questioning or even mentioning the many underlying assumptions (that all networks contain separate communities, that nodes cannot belong to several, that Gephi’s calculation is the best or the one and only, etc.). There are many other tutorials and even books devoted to Gephi.
- Several R packages are devoted to network visualization and analysis (we’ll give more pointers here in the future). For visualization, Katherine Ognyanova’s tutorial, using the packages igraph, network, and ndtv-d3, is already a classic; it includes dynamic visualizations. It requires prior general knowledge of R. For models of network dynamics (which, in my view, are extremely interesting; but honestly, you rarely find the data that justifies their use), you have RSiena, with very good documentation (as previously mentioned, Siena also runs from Visone, where you don’t need a command line). If you already know a lot about networks and R, and want to find the package that suits your needs, check this excellent list by François Briatte.
- If, for some reason, you are used to work with Python (don’t learn it especially for network analysis!), you can also use it for some types of network analysis, and there is a good tutorial written for humanists.
- (to be completed: there are many other tools and tutorials! if you want to despair, look at this list)
If you did not find what you wanted here, you might want to check the impressive list of tutorials (in English, German, and French) maintained by the Historical Network Research team.
* 2-mode networks (also known as affiliation networks or bipartite networks) are made of ties between two different types of entities. Two very frequently studied types of 2-mode networks are networks of members and organizations (in our Chapter 6, we cite studies on this type of networks by Rosenthal et al., David et al., Osa) and networks of authors and textes/journals (e.g. by White and McCann, So and Long). In the original data, you know that persons P1, P2, P3, etc. belonged or did not belong to organizations O1, O2, O3, etc. Then you can derive a network of co-membership between persons, or of common members between organizations. Those will be classical, “1-mode” networks. Similarly, if you know that authors A1, A2, A3, etc. wrote papers P1, P2, P3, etc., you can derive a network of co-authorship and a network of shared authors. This switching from 2-mode data to 1-mode networks is straightforward with some tools, not with others.
** You are studying multiplex ties if you have information on several types of ties among the same group of people (or places, books, etc.), e.g. family ties and economic ties in a famous paper by Padgett and Ansell. You generally would like visualization and analysis to explore whether these different types are correlated.