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`

and`Anova`

. - 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 the`uniroot`

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 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.

### 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