Psychometric Meta-Analysis Toolkit

Tools for computing bare-bones and psychometric meta-analyses and for generating psychometric data for use in meta-analysis simulations. Supports bare-bones, individual-correction, and artifact-distribution methods for meta-analyzing correlations and d values. Includes tools for converting effect sizes, computing sporadic artifact corrections, reshaping meta-analytic databases, computing multivariate corrections for range variation, and more. Bugs can be reported to <> or .

Version Information

  • psychmeta R package
  • Version 0.2.2


  • Jeffrey A. Dahlke
  • Brenton M. Wiernik


  • Michael T. Brannick
  • Jack Kostal
  • Sean Potter
  • Yuejia (Mandy) Teng

The psychmeta package provides tools for computing bare-bones and psychometric meta-analyses and for generating psychometric data for use in meta-analysis simulations. Currently, the package supports bare-bones, individual-correction, and artifact-distribution methods for meta-analyzing correlations and d values.


Changes in Version 0.2.2 (2018-01-24)

o A new function (called matreg, with aliases of matrixreg, lm_mat, and lm_matrix) has been added that computes regression models from covariance matrices and vectors of means and generates output that resembles that of the "lm" function. Output from matreg can be used with the summary(), predict(), and confint() functions. o The ma_r and mad_d functions have been modified to allow for more flexibility in computing multiple meta-analyses in a single function call, especially when those meta-analyses use artifact-distribution corrections. Several new arguments have been added to allow users to name the types artifact corrections they would like to apply to each construct - see function documentation for argument details. o The correct_rxx and correct_ryy arguments across meta-analysis routines (excluding ma_r_ad and ma_d_ad) can now support both scalar and vector arguments. o Efficiency improvements and improvements to the accuracy of progress-bar feedback have been made to the simulate_r_database and simulate_d_database functions.

Changes in Version 0.2.1 (2018-01-07)

o Hotfixes for bugs in “simulate_d_sample” function affecting composite variables. o A “k_items_vec” argument is now included in the “simulate_psych” function. o The “simulate_d_database” function has been improved for faster computations.

Changes in Version 0.2.0 (2018-01-05)

o Bug fixes for identifying independent artifacts in artifact-distribution meta-analyses using ma_r and ma_d. o The simulation functions (simulate_r_sample, simulate_r_database, simulate_d_sample, simulate_d_database) can now simulate alpha reliabilities for variables when the number of items in a scale is indicated with the “k_items_vec” or “k_items_params” arguments. o A new function called “metabulate" has been added that writes meta-analytic tables as rich text files with near publication-quality formatting.

Changes in Version 0.1.3 (2017-12-13)

o Bug fixes and stability improvements for moderator analyses, the creation of artifact distributions, and computation of follow-up analyses. o Added reliability types arguments (e.g., “rxx_type”, “ryy_type”) to functions requiring reliability estimates to be corrected for range restriction. String vectors of reliability labels (e.g., “alpha”, “retest”, “parallel”; see documentation for the ma_r function for a complete list of supported labels) can now be supplied to many functions. When direct range restriction occurs, different corrections for range restriction are applied to internal-consistency reliability estimates and reliability estimates computed by correlating data from different testing occasions. o The ma_r and ma_d functions now allow users to supply lists of external artifact information using the “supplemental_ads” argument (the ma_r_ic and ma_d_ic functions also allow this with the “supplemental_ads_x” and “supplemental_ads_y” arguments). These functions can also now harvest artifact information from studies in a database with invalid or missing effect sizes by setting the “use_all_arts” argument to TRUE. o “rho_params” arguments to the simulate_r_database function can now be supplied as a correlation matrix rather than a list (for situations in which samples are drawn from a single population). Similarly, elements in the “rho_params” list argument for the simulate_d_database can include matrices. o Progress bars have been added to potentially time-consuming functions to provide feedback about the percentage of progress and the estimated time remaining.

Changes in Version 0.1.2 (2017-11-16)

o Bug fixes for moderator analyses. o Bug fixes for specifying the order of constructs and selecting a subset of constructs in a database. o New function to correct for scale coarseness. o Improved vectorization support.

Changes in Version 0.1.1 (2017-09-21)

o We have added a suite of simulation function for d values (see the "simulate_d_sample" and "simulate_d_database" functions).

o Methods for meta-analyzing d values have been updated to better account for subgroup proportions when converting between the r and d metrics. The escalc objects that accompany a meta-analysis of d values now include more detailed information about incumbent and applicant subgroup proportions and the default for the "pa" argument (i.e., applicant proportions) is now NULL rather than .5 to prevent unintended corrections for range restriction.

o A new "ma_generic" function has been added that allow users to do a psychmeta-style meta-analysis for any effect size for which the user has error-variance estimates. This function is supported by psychmeta's sensitivity() and heterogeneity() functions.

o Taylor series methods for estimating the variance of converted artifact values (e.g., a rxxi distribution converted to a rxxa distribution) have been expanded to account for the correlation between artifact distributions when such information is available. Correlations among artifacts' sampling distributions can also be passed to the var_error_r_bvirr() function when it is called outside of a meta-analysis routine.

o The implementation of corrections of bivariate range restriction in individual-correction meta-analyses have been updated. Corrections for bivariate direct range restriction now use conventional compound attenuation factors, while the attenuation factors for bivariate indirect range restriction are now computed using mean effect sizes and artifacts to estimate sampling variances.

o Assorted bugs have been fixed (e.g., an error that occurred when running multi-construct meta-analyses without specifying moderators; filters to retain valid correlations did not screen construct names, sample ids, or measure names; subgroup proportions were not being retained when d values were meta-analyzed as correlations).

Changes in Version 0.1.0 (2017-08-15)

o psychmeta has officially launched for public beta!

o Please see the "psychmeta-package" entry in the psychmeta manual for an overview of the package and its applications.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.1.1 by Jeffrey A. Dahlke, 11 days ago

Report a bug at

Browse source code at

Authors: Jeffrey A. Dahlke [aut, cre], Brenton M. Wiernik [aut], Michael T. Brannick [ctb] (Testing), Jack Kostal [ctb] (Code for reshape_mat2dat function), Sean Potter [ctb] (Testing; Code for cumulative and leave1out plots), John Sakaluk [ctb] (Code for funnel and forest plots), Yuejia (Mandy) Teng [ctb] (Testing)

Documentation:   PDF Manual  

Task views: Meta-Analysis

GPL (>= 3) license

Imports dplyr, stats, methods, MASS, boot, tmvtnorm, tibble, reshape2, ggplot2, metafor, nor1mix, progress, tidyr, stringi, fungible, stringr, rlang, RCurl, xml2, purrr, data.table, RefManageR, rmarkdown, knitr, cli, crayon

See at CRAN