| Title: | Meta-Analytic Selection Models for Dependent Effect Sizes |
|---|---|
| Description: | Fits a flexible class of p-value selection models for meta-analysis and meta-regression models, providing standard errors and confidence intervals based on either cluster-robust variance estimators (i.e., sandwich estimators) or cluster-level bootstrapping to handle dependent effect size estimates, as described in Pustejovsky, Citkowicz, and Joshi (2025) <DOI:10.31222/osf.io/qg5x6_v1> and Citkowicz, Pustejovsky, and Joshi (2026) <DOI:10.31222/osf.io/wjpxk_v1>. Supported models include generalizations of the step-function selection model as proposed by Vevea and Hedges (1995) <DOI:10.1007/BF02294384> and the beta-function selection model as proposed by Citkowicz and Vevea (2017) <DOI:10.1037/met0000119>. |
| Authors: | James E. Pustejovsky [aut, cre] (ORCID: <https://orcid.org/0000-0003-0591-9465>), Megha Joshi [aut] (ORCID: <https://orcid.org/0000-0001-7936-076X>), Martyna Citkowicz [aut] (ORCID: <https://orcid.org/0000-0002-2048-0625>) |
| Maintainer: | James E. Pustejovsky <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.3.0.9999 |
| Built: | 2026-10-01 12:51:35 UTC |
| Source: | https://github.com/jepusto/metaselection |
A functional that takes model parameters and returns a function that can be used to censor meta-analytic datasets according to the univariate beta-density model.
beta_fun( delta_1 = 1, delta_2 = 1, trunc_1 = 0.025, trunc_2 = 0.975, renormalize = TRUE )beta_fun( delta_1 = 1, delta_2 = 1, trunc_1 = 0.025, trunc_2 = 0.975, renormalize = TRUE )
delta_1 |
numeric value for the first parameter of the beta function. |
delta_2 |
numeric value for the second parameter of the beta function. |
trunc_1 |
numeric value between 0 and 1, below which p-values will be truncated. |
trunc_2 |
numeric value between 0 and 1, above which p-values will be truncated. |
renormalize |
logical indicating whether to normalize the beta function
to have a maximum value of 1, with a default value of |
A function that can be used to censor a meta-analytic dataset based on the univariate beta-density model.
Creates a set of priors for use in estimating selection models. beta parameters are assigned L-norm priors. log(tau) parameters are assigned independent log-gamma priors. log(lambda) parameters are assigned independent L-norm priors.
define_priors( beta_mean = 0, beta_precision = 1/16, beta_L = 4, tau_mode = 0.2, tau_alpha = 1, lambda_mode = 0.5, lambda_precision = 1/54, lambda_L = 4 )define_priors( beta_mean = 0, beta_precision = 1/16, beta_L = 4, tau_mode = 0.2, tau_alpha = 1, lambda_mode = 0.5, lambda_precision = 1/54, lambda_L = 4 )
beta_mean |
numeric vector of prior means for beta (mean regression) parameters. |
beta_precision |
numeric vector of prior precisions for beta (mean regression) parameters. |
beta_L |
numeric vector of prior norms for beta (mean regression) parameters. |
tau_mode |
numeric vector of prior modes for tau (heterogeneity SD) regression parameters. |
tau_alpha |
numeric vector of prior precisions for tau (heterogeneity SD) regression parameters. |
lambda_mode |
numeric vector of prior modes for lambda (selection) parameters. |
lambda_precision |
numeric vector of prior precisions for lambda (selection) parameters. |
lambda_L |
numeric vector of prior norms for lambda (mean regression) parameters. |
An object of class "selmodel_prior" containing the following
components:
log_priorfunction with arguments beta,gamma,zeta that returns the log of the prior density over these parameters.
score_priorfunction with arguments beta,gamma,zeta that returns the vector of scores for the prior density over these parameters.
hessian_priorfunction with arguments beta,gamma,zeta that returns the Hessian matrix of the prior density over these parameters.
# set very informative priors on beta and lambda strong_priors <- define_priors( beta_mean = 0.4, beta_precision = 40, lambda_mode = 0.2, lambda_precision = 40 ) # set standard normal prior on beta weak_priors <- define_priors( beta_mean = 0, beta_precision = 1/2, beta_L = 2 )# set very informative priors on beta and lambda strong_priors <- define_priors( beta_mean = 0.4, beta_precision = 40, lambda_mode = 0.2, lambda_precision = 40 ) # set standard normal prior on beta weak_priors <- define_priors( beta_mean = 0, beta_precision = 1/2, beta_L = 2 )
Meta-analytic dataset containing results of primary studies examining the effect of interleaved learning.
interleaved_learninginterleaved_learning
A data frame with 238 rows and 21 variables:
name of the study.
identifier for the effect size.
effect size in form of Hedges' g.
corresponding variance of the effect size.
identifier for each sample within a study.
identifier for the publication.
code for items with (1) Paintings including mostly impressionistic paintings of different artists coded as 0; (2) Naturalistic photographs such as pictures of birds, butterflies coded as 3; (3) Artificial pictures, that is, pictures of artificial objects or creatures coded as 1; (4) Mathematical tasks, such as calculating the volume of geometric solids or the use of significance tests coded as 2; (5) Expository Texts, which included plain expository texts and combinations of texts and other media in a multimedia/interactive media environment coded as 5; (6) Words, such as names that belonged to different conceptual categories, pronunciation rules, or translations in different languages coded as 4; (7) Tastes such as liquids with different tastes coded as 6.
mean age of the participants.
indicator for grey literature with 1 indicating theses and dissertations and 0 indicating articles and conference papers.
indicator for research design with 1 indicating within-participants design and 0 indicating between-participants design.
indicator type of sample with 1 indicating samples with only students and 0 indicating all other types of samples.
indicator for retention interval length with 1 indicating long (>= 20 min) intervals and 0 indicating short (< 20 min) intervals.
indicator for intentional learning designs with 1 indicating incidental learning designs and 0 indicating intentional learning designs.
indicator for type of tests with 1 indicating transfer tests and 0 indicating retention tests.
indicator for type of presentation with 1 indicating simultaneous presentation and 0 indicating successive presentation.
standardized ratings of similarity within categories.
standardized ratings of similarity between categories.
standardized ratings of complexity.
standardized ratings of familiarity.
standardized ratings of curiosity.
indicator for spacing with spaced indicating designs with spaced items (10 or 30 sec time intervals), nonspaced indicating designs with immediate succession of items (less than 2 sec), -1 indicating designs with distractors between presentation of items are coded as distract and items not included in the analysis of spacing between items.
Brunmair M, Richter T (2019). “Similarity matters: A meta-analysis of interleaved learning and its moderators.” Psychological Bulletin, 145(11), 1029. doi:10.1037/bul0000209.
A functional that takes in a dataset with empirical distribution of primary study sample sizes and number of effect sizes per primary study and returns a function that generates random samples from the dataset
n_ES_empirical(dat)n_ES_empirical(dat)
dat |
a |
A function that generates random samples from the input dataset.
study_features <- n_ES_empirical(wwc_es) study_features(m=3) study_features(m=7)study_features <- n_ES_empirical(wwc_es) study_features(m=3) study_features(m=7)
A functional that takes in average sample size per primary study, average number of effect sizes per study, and the minimum sample size per study and returns a function to generate random samples of primary study sample sizes and numbers of effect sizes per study.
n_ES_param(mean_N, mean_ES, min_N = 20L)n_ES_param(mean_N, mean_ES, min_N = 20L)
mean_N |
numeric value specifying the average sample size per primary study. |
mean_ES |
numeric value specifying the average number of effect sizes per primary study. |
min_N |
numeric value specifying the minimum sample size per study. |
A function that generates a data.frame with randomly generated sample
size per primary study and number of effect sizes per study.
study_features <- n_ES_param(mean_N = 40, mean_ES = 3, min_N = 10) study_features(m = 3) study_features(m = 5)study_features <- n_ES_param(mean_N = 40, mean_ES = 3, min_N = 10) study_features(m = 3) study_features(m = 5)
selmodel objectSummarize the strength of selection by
calculating the area under the selection weight function a
selmodel object (excluding the area with weight fixed at
1). If the object has bootstrap replications, then a
confidence interval will also be calculated.
p_area(object, CI_type = NULL, conf_level = NULL, warn = TRUE)p_area(object, CI_type = NULL, conf_level = NULL, warn = TRUE)
object |
fitted model of class |
CI_type |
character string specifying the type of
confidence interval to calculate, with options as in
|
conf_level |
desired coverage level for confidence
intervals. If |
warn |
logical controlling whether warnings are
displayed, with a default of |
A data.frame containing the estimated area under
the selection weight function. If the input object
includes bootstraps, then the returned data.frame also
includes bootstrap confidence interval(s) for the area
under the selection weight function.
beta_noboot <- selection_model( data = practice_facilitation, yi = SMD, sei = SE, selection_type = "beta", steps = c(0.025,0.975) ) p_area(beta_noboot) step_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, selection_type = "step", steps = c(0.025,0.50), estimator = "ARGL", bootstrap = "multinomial", CI_type = "normal", R = 9L ) p_area(step_boot)beta_noboot <- selection_model( data = practice_facilitation, yi = SMD, sei = SE, selection_type = "beta", steps = c(0.025,0.975) ) p_area(beta_noboot) step_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, selection_type = "step", steps = c(0.025,0.50), estimator = "ARGL", bootstrap = "multinomial", CI_type = "normal", R = 9L ) p_area(step_boot)
Meta-analytic dataset containing results of primary studies examining the effect of practice facilitation on the uptake of evidence-based practices (EBPs) in primary care settings.
practice_facilitationpractice_facilitation
A data frame with 23 rows and 3 variables:
first author and publication year of primary study report.
score on a scale from 0 to 12, for which higher scores correspond to higher quality of the study methods.
study design, with CCT = controlled clinical trial, C-RCT = cluster randomized controlled trial, RCT = randomized controlled trial.
indicator for allocation concealment.
indicator for whether study was single- or double-blinded.
indicator for whether study adhered to intent-to-treat principle.
description of outcome measure.
months of follow-up.
percentage of sample retained at follow-up.
effect size in form of Hedges' g.
corresponding variance of the effect size.
Table 1 of Baskerville et al. (2012; doi:10.1370/afm.1312).
Baskerville NB, Liddy C, Hogg W (2012). “Systematic review and meta-analysis of practice facilitation within primary care settings.” Annals of Family Medicine, 10(1), 63–74. ISSN 1544-1717. doi:10.1370/afm.1312.
selmodel objectPrint relevant results from a fitted selmodel
object.
## S3 method for class 'selmodel' print(x, transf_gamma = TRUE, transf_zeta = TRUE, digits = 3, ...)## S3 method for class 'selmodel' print(x, transf_gamma = TRUE, transf_zeta = TRUE, digits = 3, ...)
x |
fitted model of class |
transf_gamma |
logical with |
transf_zeta |
logical with |
digits |
minimum number of significant digits to be used, with a default of 3. |
... |
further arguments passed to
|
The method returns a data.frame containing
parameter estimates, standard errors, p-values, and
confidence intervals for model parameters.
res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) print(res_ML) print(res_ML, transf_gamma = FALSE, transf_zeta = FALSE)res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) print(res_ML) print(res_ML, transf_gamma = FALSE, transf_zeta = FALSE)
Generate meta-analytic correlated or correlated and hierarchical effects data with options to simulate selective outcome reporting
r_meta( mean_smd, tau, omega, m, cor_mu, cor_sd, n_ES_sim, censor_fun = NULL, m_multiplier = 1, id_start = 0L, paste_ids = TRUE, include_sel_prob = FALSE )r_meta( mean_smd, tau, omega, m, cor_mu, cor_sd, n_ES_sim, censor_fun = NULL, m_multiplier = 1, id_start = 0L, paste_ids = TRUE, include_sel_prob = FALSE )
mean_smd |
numeric value indicating the true mean effect size. |
tau |
numeric value characterizing between-study heterogeneity in effects. |
omega |
numeric value characterizing within-study heterogeneity in effects. |
m |
numeric value of studies in the simulated meta-analysis. |
cor_mu |
numeric value indicating the average correlation between outcomes. |
cor_sd |
numeric value indicating standard deviation of correlation between outcomes. |
n_ES_sim |
a function used to simulate the distribution of primary study sample sizes and the number of effect sizes per study. |
censor_fun |
a function used to censor effects. The
package provides functionals |
m_multiplier |
numeric value for a multiplier to buffer the number of studies generated. |
id_start |
integer indicating the starting value for study id. |
paste_ids |
logical with |
include_sel_prob |
logical with |
A data.frame containing the simulated
meta-analytic dataset.
example_dat <- r_meta( mean_smd = 0, tau = .1, omega = .01, m = 50, cor_mu = .4, cor_sd = 0.001, censor_fun = step_fun(cut_vals = .025, weights = 0.4), n_ES_sim = n_ES_param(40, 3) )example_dat <- r_meta( mean_smd = 0, tau = .1, omega = .01, m = 50, cor_mu = .4, cor_sd = 0.001, censor_fun = step_fun(cut_vals = .025, weights = 0.4), n_ES_sim = n_ES_param(40, 3) )
Estimate step or beta selection model, with standard errors and confidence intervals based on either cluster-robust variance estimators (i.e., sandwich estimators) or cluster-level bootstrapping to handle dependent effect size estimates.
selection_model( data, yi, vi, sei, ai, cluster, selection_type = c("step", "beta"), alternative = "greater", steps = NULL, mean_mods = NULL, var_mods = NULL, sel_mods = NULL, sel_zero_mods = NULL, priors = define_priors(), subset = NULL, estimator = "CML", vcov_type = "robust", CI_type = "large-sample", conf_level = 0.95, theta = NULL, optimizer = NULL, optimizer_control = list(), use_jac = NULL, bootstrap = "none", R = 1999, retry_bootstrap = 0L, valence_check = TRUE, ... )selection_model( data, yi, vi, sei, ai, cluster, selection_type = c("step", "beta"), alternative = "greater", steps = NULL, mean_mods = NULL, var_mods = NULL, sel_mods = NULL, sel_zero_mods = NULL, priors = define_priors(), subset = NULL, estimator = "CML", vcov_type = "robust", CI_type = "large-sample", conf_level = 0.95, theta = NULL, optimizer = NULL, optimizer_control = list(), use_jac = NULL, bootstrap = "none", R = 1999, retry_bootstrap = 0L, valence_check = TRUE, ... )
data |
|
yi |
vector of effect sizes estimates. |
vi |
vector of sample variances. If |
sei |
vector of sampling standard errors. If |
ai |
optional vector of analytic weights. |
cluster |
vector indicating which observations belong to the same cluster. |
selection_type |
character string specifying the type
selection model to estimate, with possible options
|
alternative |
character string specifying the direction
of the alternative hypothesis used in computing p-values
for the observed effect sizes, with possible options
|
steps |
If |
mean_mods |
optional model formula for moderators related to average effect size magnitude. |
var_mods |
optional model formula for moderators related to effect size heterogeneity. |
sel_mods |
optional model formula for moderators related
to the probability of selection. Only relevant for
|
sel_zero_mods |
optional model formula for moderators
related to the probability of selection for p-values below
the lowest threshold value of |
priors |
a |
subset |
optional logical expression indicating a subset of observations to use for estimation. |
estimator |
vector indicating whether to use the
composite marginal likelihood estimator (option
|
vcov_type |
character string specifying the type of
variance-covariance matrix to calculate, with possible
options |
CI_type |
character string or vector specifying the type
of confidence interval to calculate, with possible options
|
conf_level |
desired coverage level for confidence
intervals, with the default value set to |
theta |
optional numeric vector of starting values to use in optimization routines. |
optimizer |
character string indicating the optimizer to
use. Ignored if |
optimizer_control |
an optional list of control parameters to be used for optimization |
use_jac |
logical indicating whether to use the Jacobian
of the estimating equations for optimization. If
|
bootstrap |
character string specifying the type of
bootstrap to run, with possible options |
R |
number of bootstrap replications, with a default of
|
retry_bootstrap |
number of times to re-draw a bootstrap
sample in the event of non-convergence, with a default of
|
valence_check |
logical value controlling whether to
check that the valence of the median effect size estimate
is consistent with the direction of the specified
|
... |
further arguments passed to
|
An object of class "selmodel" containing the
following components:
estdata.frame with parameter estimates, standard errors, and
confidence intervals. Note that the results do not include p-values so
as to focus interpretation on the parameter estimates, rather than on
the statistical significance of any given parameter.
vcovmatrix containing the estimated variance-covariance matrix of the parameter estimates.
methodcharacter string indicating the optimization method used to solve for parameter estimates.
infofurther information about the optimization results.
lllog likelihood of the model evaluated at the reported parameter estimates.
wpllweighted partial log likelihood of the random effects model, with weights corresponding to inverse selection probabilities.
n_clustersnumber of independent clusters of effect sizes.
n_effectsnumber of effect size estimates in the data.
...some additional elements containing information about the methods used to estimate the model.
res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) res_ML summary(res_ML) # configure progress bar progressr::handlers(global = TRUE) res_hybrid <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 19 ) res_hybrid summary(res_hybrid)res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) res_ML summary(res_ML) # configure progress bar progressr::handlers(global = TRUE) res_hybrid <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 19 ) res_hybrid summary(res_hybrid)
For a fitted model of class "selmodel", create a plot of
the selection weights implied by the model parameter estimates. If the
model includes bootstrapped confidence intervals, then the plot will also
display the selection weights implied by each bootstrap replicate of the
parameter estimates.
selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), ... ) ## S3 method for class 'selmodel' selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), fill = "blue", alpha = 0.5, step_linetype = "dashed", ... ) ## S3 method for class 'boot.selmodel' selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), color = "black", linewidth = 1.2, step_linetype = "dashed", draw_boots = TRUE, fill = "blue", alpha = 0.5, boot_color = "blue", boot_alpha = 0.1, ... )selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), ... ) ## S3 method for class 'selmodel' selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), fill = "blue", alpha = 0.5, step_linetype = "dashed", ... ) ## S3 method for class 'boot.selmodel' selection_plot( mod, limits = c(0, 1), pts = 200L, ref_pval = NULL, transform = "identity", expand = ggplot2::expansion(0, 0.01), color = "black", linewidth = 1.2, step_linetype = "dashed", draw_boots = TRUE, fill = "blue", alpha = 0.5, boot_color = "blue", boot_alpha = 0.1, ... )
mod |
fitted model of class |
limits |
numeric vector of length 2 specifying the minimum and maximum p-values to plot. |
pts |
number of points for which to calculate selection weights, with a default of 200 points, evenly spaced between the specified limits. |
ref_pval |
numeric value of a p-value at which to standardize the
weights. If not |
transform |
character string specifying the name of a transformation function or the transformation function itself, as defined in the scales package. The transform is passed to |
expand |
passed to the |
... |
further arguments passed to |
fill |
character string specifying the fill-color to use when |
alpha |
numeric value specifying the opacity of the filled area plot,
with a default of 0.5. Passed to |
step_linetype |
character string specifying the type of line to draw to
indicate p-value thresholds assumed in |
color |
character string specifying the line color to use for drawing
the estimated selection weights, with a default of |
linewidth |
numeric value specifying the line width to use for drawing
the estimated selection weights, with a default of 1.2. Passed to
|
draw_boots |
logical value indicating whether to draw the selection
weights for each bootstrap replication, with a default of |
boot_color |
character string specifying the line color to use for
drawing the selection weights of each bootstrap replication, with a default
of |
boot_alpha |
numeric value specifying the opacity of the lines for
drawing the selection weights of each bootstrap replication, with a default
of |
A ggplot2 object.
mod <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "none" ) selection_plot(mod, fill = "purple") # rescale the horizontal axis using arc-sin square root selection_plot(mod, fill = "purple", transform = "asn") mod_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 9L ) selection_plot(mod_boot, transform = "sqrt") selection_plot(mod_boot, transform = "sqrt", draw_boots = FALSE) # turn off bootstrap lines selection_plot(mod_boot, transform = "sqrt", color = "red", boot_color = "orange") # change colorsmod <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "none" ) selection_plot(mod, fill = "purple") # rescale the horizontal axis using arc-sin square root selection_plot(mod, fill = "purple", transform = "asn") mod_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 9L ) selection_plot(mod_boot, transform = "sqrt") selection_plot(mod_boot, transform = "sqrt", draw_boots = FALSE) # turn off bootstrap lines selection_plot(mod_boot, transform = "sqrt", color = "red", boot_color = "orange") # change colors
Calculates the selection weights implied by an estimated model for a user-specified p-value or set of p-values.
selection_wts(mod, pvals, ref_pval, ...) ## S3 method for class 'step.selmodel' selection_wts(mod, pvals = NULL, ref_pval = NULL, bootstraps = TRUE, ...) ## S3 method for class 'beta.selmodel' selection_wts(mod, pvals = NULL, ref_pval = NULL, bootstraps = TRUE, ...)selection_wts(mod, pvals, ref_pval, ...) ## S3 method for class 'step.selmodel' selection_wts(mod, pvals = NULL, ref_pval = NULL, bootstraps = TRUE, ...) ## S3 method for class 'beta.selmodel' selection_wts(mod, pvals = NULL, ref_pval = NULL, bootstraps = TRUE, ...)
mod |
fitted model of class |
pvals |
numeric vector of p-values for which to calculate selection weights. |
ref_pval |
numeric value of a p-value at which to standardize the
weights. If not |
... |
further arguments passed to some methods. |
bootstraps |
If |
If mod does not include bootstrapped confidence intervals or
if the argument bootstraps = FALSE, then selection_wts will
return a data.frame containing the user-specified p-values and the
selection weights implied by the estimated model parameters.
If mod does include bootstrapped confidence intervals (i.e., when
inherits(mod, "boot.selmodel") is TRUE) and the argument
bootstraps = TRUE, then selection_wts will return a list with
two elements. The first element is a data.frame containing the
user-specified p-values and the selection weights implied by the estimated
model parameters. The second element is a data.frame containing the
user-specified p-values and the selection weights implied by each bootstrap
replicate of the model parameter estimates. The data.frame includes
an additional variable, rep, identifying the bootstrap replicate.
mod <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL" ) selection_wts(mod, pvals = seq(0, 1, 0.2)) mod_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 9 ) selection_wts(mod_boot, pvals = seq(0, 1, 0.2))mod <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL" ) selection_wts(mod, pvals = seq(0, 1, 0.2)) mod_boot <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = c(0.025, .5), estimator = "ARGL", bootstrap = "multinomial", CI_type = "percentile", R = 9 ) selection_wts(mod_boot, pvals = seq(0, 1, 0.2))
Meta-analytic dataset containing results of primary studies examining the effect of self-control training.
self_controlself_control
A data frame with 158 rows and 26 variables:
identifier for the study.
identifier for the effect size.
name of the study.
effect size in form of Hedges' g.
corresponding variance of the effect size.
corresponding standard error of the effect size.
name of the outcome measure.
conditions compared.
type of treatment/training.
length of treatment coded in days.
indicator for whether the study was published.
indicator for whether the study was published (newer version).
year that the study was published.
indicator for whether researchers of the study belonged to the strength model group.
quality of the control group with active indicating that the control group worked on some task.
percentage of males in the sample.
type of outcome.
indicator for the subjectivity of the outcome measure.
indicator for whether the behavior measured was assessed in lab or in the real-world.
indicator for whether the outcome was assessed with (Stamina) or without a preceding effortful task (Strength).
indicator for whether there was a pre and post measure of outcome or only post measure.
population examined in the study.
average age of the sample.
percentage of attrition.
type of compensation received by the participants.
indicator for whether the outcome measure required utilization of maximum self-control potential.
Friese M, Frankenbach J, Job V, Loschelder DD (2017). “Does self-control training improve self-control? A meta-analysis.” Perspectives on Psychological Science, 12(6), 1077–1099. doi:10.1177/1745691617697076.
A functional that takes in a single step value, a weight representing the selection probability for the upper interval of p-values, and a dependence parameter, and returns a function that can be used to censor meta-analytic datasets according to a multivariate step-function model.
step_count_fun(cut_val = 0.025, weight = 1, psi = 0, renormalize = TRUE)step_count_fun(cut_val = 0.025, weight = 1, psi = 0, renormalize = TRUE)
cut_val |
numeric value specifying the specifying the thresholds (or steps) where the selection probability changes. |
weight |
numeric value specifying the selection probability for the
upper interval of p-values, i.e., for p-values larger than |
psi |
numeric value controlling the degree of dependence in selection probabilities. |
renormalize |
logical indicating whether to normalize the step function
to have a maximum value of 1, with a default value of |
A function that can be used to censor a meta-analytic dataset based on a multivariate step-function model.
A functional that takes in cut values and weights representing selection probabilities for different intervals of p-values and returns a function that can be used to censor meta-analytic datasets according to the univariate step-function model.
step_fun(cut_vals = 0.025, weights = 1, renormalize = TRUE)step_fun(cut_vals = 0.025, weights = 1, renormalize = TRUE)
cut_vals |
numeric vector of one or more values specifying the threshold (or step) where the selection probability changes. |
weights |
numeric vector of one or more values specifying the
selection probabilities for different intervals of p-values; the intervals
are determined by the |
renormalize |
logical indicating whether to normalize the step function
to have a maximum value of 1, with a default value of |
A function that can be used to censor a meta-analytic dataset based on the univariate step-function model.
selmodel objectSummarize relevant results from a fitted selection model.
## S3 method for class 'selmodel' summary(object, transf_gamma = TRUE, transf_zeta = TRUE, digits = 3, ...)## S3 method for class 'selmodel' summary(object, transf_gamma = TRUE, transf_zeta = TRUE, digits = 3, ...)
object |
fitted model of class |
transf_gamma |
logical with |
transf_zeta |
logical with |
digits |
minimum number of significant digits to be used, with a default of 3. |
... |
further arguments passed to
|
The function outputs a summary of a fitted
selmodel object to the console. Output includes information
about the number of clusters and number of effect size
estimates used to fit the model, estimator and variance
estimator settings, model fit information, and parameter
estimates with associated uncertainty measures.
The method does not return an object.
res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) summary(res_ML) summary(res_ML, transf_gamma = FALSE, transf_zeta = FALSE)res_ML <- selection_model( data = self_control, yi = g, sei = se_g, cluster = studyid, steps = 0.025, estimator = "CML", bootstrap = "none" ) summary(res_ML) summary(res_ML, transf_gamma = FALSE, transf_zeta = FALSE)
A dataset containing sample size and number of effect sizes seen in primary studies evaluated by the What Works Clearinghouse.
wwc_eswwc_es
A tibble with 615 rows and 2 variables:
the sample size of the primary study.
number of effect sizes in the primary study.
What Works Clearinghouse (2021). “Data from individual studies.” https://ies.ed.gov/ncee/wwc/studyfindings. (visited on ).