rpkgsiuse
Table of Contents
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
- GLMMadaptive and glmmML: Other useful packages for fitting generalized linear mixed-effects models.
- glmmTMB: For mixed-effects models with zero-inflation, a dispersion model, and/or some alternative var-cov structures for the random effects.
- mbest: For fitting (generalized) linear mixed-effects models using the method of moments.
Other Models/Analyses
- survival: For time-to-event data / Cox proportional hazards regression 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 models.
- mgcv: For generalized additive models (GAMs).
Analysis Tools
- boot: As the name implies, for bootstrapping.
- car: Package to accompany An R Companion to Applied Regression by Fox and Weisberg (2019). I regularly make use of some functions from this package such as
linear.hypothesis
andAnova
. - lmerTest: For approximate Wald-type t-tests for lmer model objects.
- emmeans: To obtain marginal means.
- sandwich and clubSandwich: For (cluster) robust inferences using the Eicker-Huber-White method.
- 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 theuniroot
function. - minqa: Several derivative-free optimizers.
- dfoptim: Includes another implementation of the Nelder-Mead algorithm (as in
optim
), the Hooke-Jeeves algorithm, and the Mesh Adaptive Direct Searches (MADS) algorithm. - subplex: A subspace-searching simplex algorithm.
- BB: For the Barzilai-Borwein gradient decent method.
- optimParallel: Parallel version of the BFGS method.
- numDeriv: For numerical calculation of first and second order derivatives.
- pracma: Also for numerical derivatives, integration, and some other numerical analysis functions.
Mathematics
- Matrix: For working with dense and sparse matrices.
- gsl: Wrapper for some functions from the GNU Scientific Library.
Distributions
- 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 andfitdistr
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.
Meta-Analysis
- metafor: Obviously (I wrote it).
- metadat: Lots of meta-analysis datasets.
- 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 many packages mentioned under the Meta-Analysis Task View.
Psychometrics
- 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.
- OpenMx: Another package for structural equation modeling; have used this mostly just for twin models.
Bayesian Statistics
- coda: In combination with the previous two packages, for summarizing and plotting chains.
Genetics
High-Performance Computing
- parallel: For the 'base R' way of doing parallel/multicore processing.
- pbapply: To show progress bars when using parallel processing.
- future and future.apply: For the 'future' way of doing parallel/multicore processing.
Graphing
- 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 and latticeExtra: But occasionally I use trellis-type graphics (especially in combination with multilevel or longitudinal data).
- plotly: And for creating interactive graphics, plotly is really nice.
- igraph: For drawing network graphs/analyses.
- 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.
- 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 useful functions for package development.
- remotes: For installing (usually development versions of) packages from GitHub and other repos.
- testthat: For software/unit testing.
- covr: For tracking/reporting code coverage of the tests.
- Formula: To make use of extended formulas in model fitting functions.
- mathjaxr: To include nicely rendered equations (via MathJax) in the HTML help files of an R package.
Dynamic Documents
- pander: For pandoc markdown.
Utilities
rpkgsiuse.txt · Last modified: 2023/11/20 10:29 by Wolfgang Viechtbauer