Updates to documentation.
Updates to range adjustment methods for ryy artifacts.
Minor maintenance update. Per feedback from CRAN, we replaced
{mathjaxr}
-based equations with katex-based questions,
which R >= 4.2.0 supports natively for HTML documentation.
Removed psychmeta_news()
function. Use
news(package = "psychmeta")
instead.
estimate_var_rho_tsa
documentation to
include a plaintext version of the formula.Bug fix in SE for tau for models with
var_biased = TRUE
.
Bug fix for forest plots generated from the results of ma_generic().
Bug fix in limits_tau2()
when
method == "normal_logQ"
.
Update generate_bib()
and metabulate()
to permit direct rendering of bibliographies in RMarkdown documents (rmarkdown
#1364)
Changed the psychmeta NEWS file to NEWS.md for easier viewing.
In plot_forest()
, by default, use the same
conf_method
and conf_level
values as used when
the meta-analysis model was fit.
Fix bug in wt_cor()
where it always returned 1 when
correlating only 2 variables.
Added a local copy of “apa.csl” to the vignette resources to avoid build issues if zotero.org’s style templates are unavailable due to AWS downtime.
Improved handling of effect sizes with observed magnitudes of
exactly zero in individual-correction meta-analyses. To accurately
account for the estimation of error variances after correcting for
artifacts, effect sizes of exactly zero are substituted with
functionally equivalent but computationally non-zero values via the
zero_substitute
argument of the
control_psychmeta()
function. The default
zero_substitute
value is
.Machine$double.eps
—this permits the effect size to be
treated as functionally zero while still allowing an attenuation factor
to be computed, which is used to estimate a more accurate corrected
error variance value.
Reduced number of dependencies.
Updated documentation.
Added var_error_spearman()
,
var_error_mult_R()
, and var_error_mult_Rsq()
functions.
Made internal code updates to improve performance.
Fixed a bug in which missing artifacts were sometimes not imputed when resolving dependency among observations.
Improved standard error for SD_res
when
var_unbiased == TRUE
.
Bug fix in convert_es()
.
convert_es()
now returns a simple frame with
converted effect sizes, variances, and (effective) sample
sizes.
Bug fix in moderator reconciliation.
Added robustness to variable selection and second-order meta-analysis functions.
Bug fix when compositing facets into overall construct variables.
Bug fix in ma_r_ic()
.
Moved packages MASS, tmvtnorm, and nor1mix to “Suggests” to avoid errors some users have encountered when loading psychmeta in R 4.0.0.
Bug fix when compositing facets into overall construct variables.
Remove unnecessary S4 class exports.
Bug fix in get_matrix()
.
Fix extraneous warnings in ma_r()
when
ma_method="ic"
since dplyr 1.0.0.
Print all columns of meta-analysis results tables.
ma_r()
and
ma_d()
as construct/facet/measure arguments were coerced to
numeric variables.Updates to ensure consistency with upcoming R 4.0.0.
Bug fixes in ma_r()
moderated meta-analyses that
involve dependency consolidation.
Bug fix in dependent sample consolidation.
A vector of moderator variable names can now be specified quoted or unquoted, like other arguments.
Improved print methods for tibble-like output.
Improved small-sample bias correction for d values; new correction uses the gamma function, consistent with metafor.
Replaced deprecated functions from dplyr.
Made stability improvements to
compute_dmod()
.
Added moderator information to the output from
get_escalc()
.
Added var_error_R()
and var_error_Rsq()
functions for the error variance of multiple correlations from multiple
regression.
Updated the URL used for version checking to avoid error messages experienced by a subset of users.
Additional bug fixes in convert_es()
,
create_ad_int()
, anova.ma_psychmeta()
,
metabulate()
, generate_bib()
Typo corrections in documentation.
Support for contour-enhanced funnel plots added to
plot_funnel()
and added a new plot_cefp()
function.
Bug fixes for uncertainty intervals in second-order meta-analyses.
New anova()
method for comparing subgroup moderator
levels.
Abbreviation for credibility interval changed to “CR” instead of “CV”.
Support for construct_order argument added to
ma_r_order2()
.
Added an error message for impossible composites. An error message is now displayed when a sample’s composite effect size is statistically impossible. Prior to this update, impossible effect sizes produced generic errors that did not provide users with useful feedback on the source of the problem.
Updated the URL used version checking to avoid error messages experienced by a subset of users.
Additional bug fixes in get_matrix()
,
reshape_wide2long()
, and
ma_r_order2()
.
Bug fix for the metabulate()
function’s use of
RMarkdown.
Bug fix for retrieving artifact distributions with the
get_ad()
function.
Bug fix to accommodate truly missing artifacts in the artifact-imputation procedure.
Bug fix for leave-one-out and cumulative meta-analyses for d values.
Update to sample from beta distributions with SD = 0
in simulate_r_database()
and
simulate_d_database()
.
Bug fix for using categorical moderators in meta-regressions.
Bug fix for using moderators in ma_generic()
when
there are no construct or group-identification variables in the
analysis.
Added an optional weights
argument to
ma_generic()
, which allows users to supply their own custom
weights for effect sizes.
Added alternative methods for calculating confidence limits for tau-squared.
Increased support for heterogeneity analyses conducted using weights imported from the metafor package.
Updated estimates for small-sample-bias corrected error variances to be computed from the bias-corrected effect size rather than applying a post-hoc linear variance adjustment.
Changed default weighting method for d values to
"n_effective"
. This method is superior to sample-size
weights because it accounts for both total sample size and deviations
from equal subgroup representation.
Updated compatibility with dplyr 0.8.0.
Updated the labeling of output from the mix_dist()
function.
Assorted bug fixes affecting mean d value estimates
(from the ma_d()
and ma_d_ic()
functions),
artifact distributions, and weighted correlations and
covariances.
Individual-correction validity generalization meta-analyses have been corrected to remove variation due to between-sample reliability differences prior to adding back measurement error.
Improved compatibility with dplyr and tibble packages.
Bug fixes for var_error_d()
and
var_error_g()
to accommodate inputs of differing
lengths.
Bug fix for cumulative meta-analyses.
Bug fix for handling null interactive artifact distributions
Bug fix for meta-analyzing correlations between global constructs and facets.
Bug fix for estimating correction-implied subgroup proportions in
correct_d()
.
Bug fix for using correct_d()
when n2
is left unspecified.
Added option to suppress progress indicators in the console. Use
options(psychmeta.show_progress = FALSE)
to suppress
progress indicators.
Increased support for common wide database formats in the
reshape_wide2long()
function.
Bug fixes for managing dependent observations in artifact
distributions created within ma_r()
and
ma_d()
.
Bug fixes for resolving dependency in effect sizes in meta-analyses with moderators.
Added error-variance estimates to the output of
convert_es()
for increased compatibility with the
ma_generic()
function.
Added support for separately compositing measures of constructs
and the constructs’ facets. Arguments for facet_x
and
facet_y
have been added to ma_r()
and
ma_d()
so that more comprehensive output tables can be
generated.
Stability fixes for data management within the
ma_r()
function.
Added checks for missing and infinite values to the
ma_generic()
function.
Bug fix for create_ad()
with interactive method when
all sample sizes are NA
.
Bug fix for ma_r_ad()
with individual artifact
distributions supplied.
Bug fix for using output of metabulate()
in
RMarkdown documents.
Bug fix for meta-analyses of effect sizes that have been averaged or composited.
Increased the stability of artifact-distribution meta-analyses
with moderators computed using the ma_r()
function.
Bug fix for the get_ad()
function to appropriately
handle artifact-distribution objects that contain no artifact
information.
Updated and corrected the text displayed in table notes produced
by the metabulate()
function.
Bug fix for handling meta-analyses with only one effect size.
Removed package fungible as a dependency, as fungible was archived and removed from CRAN on 2018-07-15.
Bug fixes and improvements to format_num()
and
metabulate()
for handling leading zeros.
ma_generic()
analyses that include
construct names and/or group names, but no moderators.lm_mat()
so that console output will show a properly scaled vector of theoretical
residual quantiles.lm_mat()
.Changed Unicode entities to HTML entities in
metabulate()
for increased support across locales.
Bug fix for artifact imputation without a moderator.
Added grouping variables and construct variables to
ma_generic()
. This helps to streamline meta-analyses of
generic effect sizes that involve multiple group-wise contrasts and/or
multiple constructs.
Bug fixes for format_num()
and
metabulate()
to allow missing values in formatted numeric
strings.
Updated lm_mat()
to use
fungible::seBetaCor()
to estimate standard errors when
se_beta_method = "normal"
and cov_mat
is a
correlation matrix.
Updates and bug fixes for the metabulate()
function.
Fixed issues with file-writing protocols. Increased support for Unicode
characters on Windows systems. Added arguments to control whether table
headers are rendered in bold font (bold_headers
) and
whether redundant construct-pair labels are collapsed in meta-analysis
tables (collapse_construct_labels
).
Updated the "summary"
attributes of
artifact-distribution objects for greater consistency between
interactive and Taylor-series objects.
Added third-order sample sizes (i.e., the number of meta-analyses
meta-analyzed; denoted as "L"
) to the output from
second-order meta-analyses.
Added get_stuff()
function that serves as a wrapper
for other functions in the get_stuff
family of
functions.
Updated metabulate()
function based on RMarkdown.
The metabulate()
function can now output to Word, PDF,
HTML, Markdown, ODT, and plain text and accepts arguments to include a
bibliography in the same output as results tables. Output can be
rendered directly into the selected format or placed into a larger
RMarkdown document. The function also includes improvements to the
typesetting of numeric results and column headings (e.g., ρ̅ instead of
Meanρ).
New num_format()
function to format numbers to a
specified number of digits and allowing control of the characters used
for decimal points, thousands and decimal digit group separators,
leading zeros, and positive and negative signs. It’s useful to avoid
unpleasant surprises during publisher typesetting of tables.
Hotfix for handling NULL
moderator objects in dependency
resolution procedure.
Hotfix for missing object in the dependency resolution procedure when no moderators are present.
Major overhauls to the format of meta-analysis objects to improve
the user experience. The outputs of meta-analysis functions are now
nested tibbles rather than nested lists. This provides users with a
clearer overview of the structure of the object, streamlines the
manipulation of results objects (e.g., selecting/subsetting columns,
filtering, and arranging), and makes the objects more flexible in terms
of performing follow up analyses and performing artifact-distribution
corrections (because AD corrections can now by done separately by
moderator level). As the print methods for meta-analyses no longer
report grand tables of results, we recommend using
summary()
or get_metatab()
to obtain this
information.
Arguments for specifying methodological parameters (e.g.,
conf_method
, conf_level
,
var_unbiased
) in meta-analyses have been migrated to a new
control_psychmeta()
function—the output of this function
can be passed to the control
argument of meta-analysis
functions to select the methodological parameters. This is meant to
reduce the number of arguments native to meta-analysis functions and
simplify the documentation of psychmeta’s core functions. All
of the arguments to control_psychmeta()
can still be passed
directly to meta-analysis functions and all function calls accepted by
previous versions of psychmeta should continue to work in this
version of the package.
The dependency resolution process in ma_r()
and
ma_d()
in which dependent effect sizes are automatically
combined into composites has been enhanced. The intercor
argument now accepts a variety of types of information. The user can now
set a default scalar value to use as well as supply a named vector of
values (the names can refer to construct names and/or
sample_id
and construct pairings) and/or a database from
which to harvest intercorrelation information. This allows the
compositing procedure to use sample-specific information to compute
composites when that information is available.
summary()
methods have been added for classes
exported from psychmeta.
The overview vignette has been updated to provide instructions on how to navigate the output objects from meta-analyses.
The class structure of meta-analysis objects has been simplified.
There is now only one class for meta-analyses
("ma_psychmeta"
).
Data management has been streamlined within the
ma_r()
and ma_d()
functions to permit more
efficient cleaning and imputation of artifact information.
To complement the new structure of meta-analysis objects, the
create_ad_list()
function now produces tibbles of artifact
distributions and the function is now an alias of
create_ad_tibble()
. This function can now create artifact
distributions for construct pairs and/or specific moderator
combinations.
The behavior of the supplemental_ads
argument to
meta-analysis functions has been expanded to allow artifact information
to be supplied as individual artifact distributions, lists of artifact
distributions, or tibbles of artifact distributions.
print()
methods have been updated for a variety of
object classes.
Bug fixes and stability improvements have been made to follow-up
analyses, plotting functions, dependency resolution,
convert_ma()
, and compute_dmod()
.
The performance of the hs_override
argument has been
improved in ma_r()
and ma_d()
by correcting a
bug that caused the argument to not be evaluated when running an
artifact-distribution meta-analysis or only a bare-bones
meta-analysis.
The default value for the use_all_arts
argument in
ma_r()
and ma_d()
has been changed from
FALSE
to TRUE
. This is meant to improve the
ease with which the most robust artifact-distribution corrections can be
applied.
Bug fixes have been made for defining confidence-interval method
in bare-bones and artifact-distribution meta-analyses computed with the
ma_r()
function.
A new seed
argument has been added to
ma_r()
and ma_d()
to set the seed value when
imputing artifacts for greater reproducibility.
New console messages have been introduced for when follow-up results are added to a meta-analysis object.
Bug fixes for using true-score u ratios in individual-correction meta-analyses.
Bug fix for appropriately returning results from the
compute_dmod()
function.
New citekey
arguments have been added to
meta-analysis function that allow users to supply citation keys for use
in reference-management programs. The new generate_bib()
function can harvest the citation keys from studies that are included in
meta-analysis objects and create formatted reference lists for use in
publications.
Plotting functions have been added. The
plot_forest()
and plot_funnel()
functions use
ggplot2 to create forest and funnel plots, respectively. These
functions take a meta-analysis object as an input and add a list of
plots to the object.
New functions to retrieve results from within meta-analysis
objects have been added. The get_stuff
family of functions
provide easy ways to extract meta-analysis tables, follow-up analyses
(e.g., cumulative meta-analyses, leave-one-out meta-analyses, bootstrap
results), plots, and more.
Assorted bug fixes have been implemented to improve the stability of the dependency resolution process, the handling of artifact distributions, and the accommodation of continuous moderators.
A new method to account for sampling error in interactive artifact distributions has been added (NOTE: this is now the default methods used in interactive AD meta-analyses).
Stability improvements for dMod functions.
Artifacts harvested from rows of a database that do not contain
effects sizes in the ma_r()
and ma_d()
functions are now organized to avoid redundancy with observations from
the same sample that are included in the meta-analytic
computations.
Bug fixes to metabulate()
.
Bug fix to the interactive artifact-distribution method for
bivariate indirect range restriction ("bvirr"
) to properly
compute SDrho.
Bug fix to allow interactive artifact distributions to be rounded to the desired number of decimal places.
Bug fix for computing the mean reliability indices in the
Taylor-series estimate of the corrected error variance for correlations
corrected with the bivariate indirect range restriction
("bvirr"
) correction.
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.
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.
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.
Efficiency improvements and improvements to the accuracy of
progress-bar feedback have been made to the
simulate_r_database()
and
simulate_d_database()
functions.
Hotfixes for bugs in simulate_d_sample()
function
affecting composite variables.
A k_items_vec
argument is now included in the
simulate_psych()
function.
The simulate_d_database()
function has been improved
for faster computations.
Bug fixes for identifying independent artifacts in
artifact-distribution meta-analyses using ma_r()
and
ma_d()
.
The simulation functions (simulate_r_sample()
,
simulate_r_database()
, simulate_d_sample()
,
simulate_d_database()
) can now simulate coefficient α
(alpha) reliabilities for variables when the number of items in a scale
is indicated with the k_items_vec
or
k_items_params
arguments.
A new function called metabulate()
has been added
that writes meta-analytic tables as rich text files with near
publication-quality formatting.
Bug fixes and stability improvements for moderator analyses, the creation of artifact distributions, and computation of follow-up analyses.
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.
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
.
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.
Progress bars have been added to potentially time-consuming functions to provide feedback about the percentage of progress and the estimated time remaining.
Bug fixes for moderator analyses.
Bug fixes for specifying the order of constructs and selecting a subset of constructs in a database.
New function correct_r_coarseness()
to correct for
scale coarseness.
Improved vectorization support.
We have added a suite of simulation function for d
values (see the simulate_d_sample()
and
simulate_d_database()
functions).
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.
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.
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.
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.
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).
psychmeta has officially launched for public beta!
Please see the "psychmeta-package"
entry in the
psychmeta manual for an overview of the package and its
applications.