Zotero is a major part of my workflow from gathering research to the final, written output. One major annoyance, though, is its interpretation of APA reference style. It’s all correct, of course, with one exception: It adds the issue number to every journal citation.


The survey package is one of R’s best tools for those working in the social sciences. For many, it saves you from needing to use commercial software for research that uses survey data. However, it lacks one function that many academic researchers often need to report in publications: correlations. The svycor function in jtools (more info) helps to fill that gap.


There are a lot of reasons to use R instead of my field’s standby software, SPSS. With that said, I won’t get into them here. Instead, I just want to talk about a few things in R that might help a beginner get the hang of it.




An expanding collection of tools I’ve created to aid in my own research. The most popular are a set of functions that implement simple slopes analysis, find Johnson-Neyman intervals, and create plots for interaction effects. There are also functions that provide a streamlined, customizable summary of regressions (including robust standard error support) in the console, HTML/LaTeX/Word tables, and coefficient plots. A few other tools have been described in my blog and elsewhere.


This is an R package that contains tools for the management and analysis of panel data. The main contributions are a panel_data object class designed to make panel-specific functions easier to handle and wbm, a procedure for fitting within-between regression models.


This R package implements a technique from Allison, Williams, and Moral-Benito (2017) and the Stata command xtdpdml. It combines maximum likelihood estimation, the logic of cross-lagged panel models, and the robustness to spuriousness of fixed effects estimators into clfe, cross-lagged fixed effects. Written with help from Richard Williams and Paul Allison.

APA LaTeX Template

A template for writing reports in APA format using the LaTeX typesetting engine. The heavy lifting is done by the apa6 package, but this saves the user some time writing out code to get started.

Group Mean Differences

This is a Shiny app to demonstrate to students how much randomly assigned groups can differ on some measure without it actually being a significant difference.


  • COMM 4820
    Public Opinion and Communication


  • COMM 2367
    Persuasive Communication


  • COMM 2367 (online)
    Persuasive Communication