Wolfgang Viechtbauer

Marginally significant (p = .07)

User Tools

Site Tools


List of R Packages I Use

In my work, I make extensive use of the statistical software package/environment R. One of the great strengths of R is the large number of add-on packages that extend the functionality of R (i.e., the functionality of the base/standard packages that are installed by default) in various ways. Here, I keep track and list packages that I make use of on a (semi)regular basis. My work would be many magnitudes more difficult if these packages (and R itself!) did not exist.

Mixed-Effects Models

  • nlme and lme4: These are my go-to packages for fitting (generalized) (non-)linear mixed-effects models (e.g., for analyzing multilevel and longitudinal data).
  • glmmML: Another useful package for fitting generalized linear mixed-effects models.
  • MCMCglmm: For fitting generalized linear mixed-effects models in a Bayesian framework.

Other Models/Analyses

  • survival: For time-to-event data / Cox proportional hazards regression models.
  • CAMAN and mclust: For fitting mixture models.
  • flexclust: Useful cluster algorithms.
  • aods3: For analyzing overdispersed counts and proportions.
  • censReg: For censored regression (Tobit) models.
  • betareg: For beta regression.
  • VGAM: For vector generalized linear and additive model.

Analysis Tools

  • boot: As the name implies, for bootstrapping.
  • car: Package to accompany An R Companion to Applied Regression by Fox and Weisberg (2011). I occasionally make use of some functions from this package such as linear.hypothesis and Anova.
  • lmtest and multcomp: Useful packages for getting post model fitting contrasts (i.e., testing general linear hypotheses).
  • lsmeans: To obtain least-squares means.
  • glmulti: Information theoretic methods for model selection and multimodel inference.
  • sandwich and clubSandwich: For (cluster) robust inferences using the Eicker-Huber-White method.
  • mice: For multiple imputation.
  • MatchIt: For propensity score matching.

Numerical Methods

  • The stats package already provides a useful collection of optimizers (optimize, optim, nlminb, constrOptim, nlm functions). For root finding, I use the uniroot function.
  • minqa: Several derivative-free optimizers.
  • nloptr: Provides an R interface to NLopt, a free/open-source library for nonlinear optimization.
  • dfoptim: Includes another implementation of the Nelder-Mead algorithm (as in optim) and the Hooke-Jeeves algorithm.
  • ucminf: Another derivative-free, quasi-Newton type algorithm.
  • cubature: For multivariate numerical integration (and integrate from stats for one-dimensional integration).
  • numDeriv: For numerical calculation of first and second order derivatives.



  • MASS: Package to support Modern Applied Statistics with S by Venables and Ripley (2002). Includes many useful functions, but mentioned here because of the mvrnorm function for generating data from a multivariate normal distribution and fitdistr for fitting univariate distributions.
  • mvtnorm: For the multivariate normal and t distribution.
  • BiasedUrn: For the noncentral hypergeometric distribution.
  • CompQuadForm: For the distribution function of quadratic forms.
  • SuppDists: For some other distributions.


  • metafor: Obviously (I wrote it).
  • meta: Another nice package for meta-analysis.
  • metaSEM: For approaching meta-analysis from a structural equation modeling (SEM) perspective.
  • Since meta-analysis is one of my primary research areas, I have played around with most packages mentioned under the Meta-Analysis Task View.


  • psych and psychometric: Lots of functions for psychometric analyses (e.g., principal component analysis, factor analysis, reliability analysis).
  • GPArotation: Includes various rotation methods for factor analysis.
  • sem and lavaan: For confirmatory factor analysis (CFA) and structural equation modeling (SEM).
  • OpenMx: Another package for structural equation modeling; have used this mostly just for twin models.

Bayesian Statistics

  • rjags: For interfacing with JAGS.
  • R2WinBUGS: For interfacing with OpenBUGS and WinBUGS.
  • coda: In combination with the previous two packages, for summarizing and plotting chains.
  • MCMCglmm: For fitting generalized linear mixed-effects models in a Bayesian framework.


  • genetics: Wide variety of functions for dealing with genetic data.
  • LDheatmap: For creating heat maps of the degree of linkage disequilibrium between SNPs.

High-Performance Computing

  • parallel: For parallel/multicore processing.


  • graphics: I am an old fart when it comes to graphics, sticking mostly to 'base graphics' (I don't actually have any strong opinions on 'base graphics' versus 'ggplot2'; I got into R before ggplot2 or even ggplot was around and just learned how to get all my graphing done with the tools available at the time – and that still works for me).
  • lattice: But occasionally I use trellis-type graphics (especially in combination with multilevel or longitudinal data).
  • igraph: For drawing network graphs/analysis.
  • viridis and viridisLite: Some very nice color maps.
  • RColorBrewer: And more color schemes.
  • MASS: The kde2d function for 2d kernel density estimation and plotting.
  • hexbin: Another approach for creating scatterplots that indicate the density of particular areas.
  • beanplot and beeswarm: To create bean and bee swarm plots (as alternatives to standard boxplots).
  • scatterplot3d and rgl: When I want to show off with 3-dimensional plots.
  • extrafont: For making use of additional fonts in graphs.
  • Cairo: For the Cairo graphics device.

Package Development

  • devtools: Various very useful functions for package development.
  • testthat: For software/unit testing.
  • covr: For tracking/reporting code coverage of the tests.
  • Formula: I make some use of extended formulas in the metafor package.

Dynamic Documents

  • knitr and rmarkdown: The obvious tools for generating dynamic documents.
  • pander: For pandoc markdown.


  • foreign, readstata13, and readxl: For reading in SPSS, Stata, and Excel data (and other formats).
  • sos: For searching through all contributed R packages on CRAN.
rpackages.txt · Last modified: 2017/04/28 15:06 by Wolfgang Viechtbauer