There are many
software packages out there that allow you to conduct social network analysis, including the widely-used UCINET
programs. However, because network analysis is an ever-evolving field, using a platform like R that allows flexibility and ever-increasing functions has its advantages.
There are two packages that allow you to conduct social network analysis in R: igraph
. Another package I may play with is tnet
, which is made to calculate measures from weighted networks. As with anything else, there are pros and cons to each package. For the basics, I will often present ways to do things in both. I will also attempt to keep track of general pros & cons (as applies to me) of each package.
- statnet is actually a suite of packages that have been developed by that statnet development team based out of University of Washington. It allows you to statistically test models based on an Exponential-Family Random Graph Model framework. In fact, statistical modeling is the explicit purpose for the development of this package.
- However, two of the packages that are included in the statnet suite, sna and network, provides more basic functions of network analysis, and that is what I'll be using most of the time. As such, if you are looking for basic functions, you should look at the documentation for sna and network (in R, use library(help=sna) or library(help=network). But installing one package is easier, just install statnet and all its dependencies
- The biggest advantage of statnet is that it is expansive and probably allows you to do most things you might want to do in social network analysis. The trade-off, of course, is that because it is so comprehensive, it can be daunting and complicated.
- igraph is a somewhat more basic approach to network analysis. However, it still contains a lot of functionality,including calculating network properties, generating random graphs for simulations, etc. and will probably fit most of your needs.
- igraph seems to be more efficient than statnet, and the many of the functions (particularly manipulating data and dealing with vertex attributes) seem more intuitive to me.
- igraph has a nice tutorial online that is in development. You can find it here. It is very helpful.