Most of my research-related software development has been in the R statistical programming language. I am a core developer in the Statnet Project.


I help develop and maintain ergm, an R package for inference and diagnostics on network data using exponential-family random graph models (ERGMs).


In 2012, we released a set of extensions (primarily) I developed for using ERGMs for modeling and simulation of dynamic networks.

ergm.count and ergm.rank

I have extended ergm to handle valued ties, and this package contains components to fit exponential family models for networks whose dyad values are counts (e.g., of interaction) or ranks (e.g., best friend, second best frend, etc.).


In 2005, I took over and rewrote the R package latentnet for Bayesian fitting of latent space and latent cluster models to social networks, and have been maintaining and developing it since.


A wrapper around ergm implementing inference for ERGMs from egocentrically sampled data..


I also contribute to networkDynamic, a package for storing and processing dynamic network data.


Yet Another Bayes’s Rule Applet (YABRA)

As I was preparing to teach a class in May 2012, I searched the Web for Java applets that could illustrate the Bayes’s Rule in an intuitive and genuinely interactive manner. Dissatisfied with what was available, I wrote my own.

With Yet Another Bayes’s Rule Applet (YABRA), move the sliders to set the prior probability Pr(A) and the conditional probabilities Pr(B|A) and Pr(BA), and watch the sliders corresponding to the posterior probabilities Pr(A|B) and Pr(AB) move in response. It can also optionally draw the corresponding tree diagram. With proper conditional probability settings, it can also be used to illustrate independence, mutual exclusivity, and complementarity of two events.

If you use it in your teaching or other work, please credit me. If you have any comments, suggestions, criticism, and/or compliments, drop me an e-mail.