Package 'robumeta'

Title: Robust Variance Meta-Regression
Description: Functions for conducting robust variance estimation (RVE) meta-regression using both large and small sample RVE estimators under various weighting schemes. These methods are distribution free and provide valid point estimates, standard errors and hypothesis tests even when the degree and structure of dependence between effect sizes is unknown. Also included are functions for conducting sensitivity analyses under correlated effects weighting and producing RVE-based forest plots.
Authors: Zachary Fisher [aut, cre], Elizabeth Tipton [aut], Hou Zhipeng [aut]
Maintainer: Zachary Fisher <[email protected]>
License: GPL-2
Version: 2.0
Built: 2024-08-28 02:47:47 UTC
Source: https://github.com/zackfisher/robumeta

Help Index


Data for Fitting Correlated Effects Model

Description

Fictional data used in TannerTanner-Smith and Tipton (2013).

Format

A dataframe containing 172 effect sizes from 39 studies used in Tanner- Smith and Tipton (2013).

Source

https://my.vanderbilt.edu/emilytannersmith/training-materials/

References

Tanner-Smith E.E., Tipton, E. (2013) Robust variance estimation with dependent effect sizes: practical considerations including a software tutorial in Stata and SPSS. Research Synthesis Methods. ISSN 1759-2887.


Data for Fitting Correlated Effects Model With Small-Sample Corrections

Description

Data used in Tipton (2013).

Format

A dataframe containing 300 effect sizes from 28 studies used in Tipton (2013).

Source

Elizabeth Tipton

References

Tipton, E. (in press) Small sample adjustments for robust variance estimation with meta-regression. Psychological Methods.


Forest Plots for Robust Variance Estimation Meta-Analysis

Description

forest.robu In meta-analysis, forest plots provide a graphical depiction of effect size estimates and their corresponding confidence intervals. The forest.robu() function in robumeta can be used to produce forest plots for RVE meta-analyses. The function requires the grid package and is based on examples provided in (Murrell, 2011). As is the case with traditional forest plots, point estimates of individual effect sizes are plotted as boxes with areas proportional to the weight assigned to that effect size. Importantly, here the weight is not necessarily proportional to the effect size variance or confidence intervals, since the combined study weight is divided evenly across the study effect sizes. Two-sided 95% confidence intervals are calculated for each effect size using a standard normal distribution and plotted along with each block. The overall effect is included at the bottom of the plot as a diamond with width equivalent to the confidence interval for the estimated effect. The RVE forest function is designed to provide users with forest plots which display each individual effect size used in the meta-analysis, while taking into account the study- or cluster-level properties inherent to the RVE analysis. As such, the user must specify columns from their original dataset that contain labels for the study or cluster and for the individual effect sizes.

Usage

forest.robu(x, es.lab, study.lab, ...)

Arguments

x

An intercept-only RVE model previously fit using the robu() function..

es.lab

A vector of labels to be used to individual effect sizes in the forest plot. Labels for individual effect sizes might be “Math Score” or “Reading Score” for a meta-analysis that included such measures or as simple as “Effect Size 1” and “Effect Size 2.”

study.lab

A vector of labels to be used to identify study (or cluster) level groupings in the forest plot. For instance, labels for the study column might be author names with corresponding publication years.

...

Additional arguments to be passed to the forest function. Any number of additional columns can be specified to be plotted along side the confidence interval column and can be specified with the following syntax ``arg1'' = ``arg2'' where ``arg1'' is the title of the column on the forest plot, and ``arg2'' is the name of the column from the original data.frame that contains the information to be displayed alongside the estimates and confidence intervals.

References

Hedges, L.V., Tipton, E., Johnson, M.C. (2010) Robust variance estimation in meta-regression with dependent effect size estimates. Research Synthesis Methods. 1(1): 39–65. Erratum in 1(2): 164–165. DOI: 10.1002/jrsm.5

Murrell P (2011). R Graphics. CRC/Taylor & Francis. ISBN 9781439831762.

Tipton, E. (in press) Small sample adjustments for robust variance estimation with meta-regression. Psychological Methods.

Examples

# Load data
data(oswald2013.ex1)

# Run intercept only model.
oswald_intercept <- robu(formula = effect.size ~ 1, data = oswald2013.ex1, 
                         studynum = Study, var.eff.size = var.eff.size, 
                         rho = 0.8, small = TRUE)

# Create forest plot. 
forest.robu(oswald_intercept, es.lab = "Crit.Cat", study.lab = "Study", 
            "Effect Size" = effect.size, # optional column
            "Weight" = r.weights)        # optional column

Convenience function for calculating group-centered covariates.

Description

Creates a within-study (or within-cluster) version of the covariate in question.

Usage

group.center(var, grp)

Arguments

var

The covariate to be group centered.

grp

A vector corresponding to the group identification.

Value

A column or vector containing the group.centered covariate.

Examples

# Load data
data(corrdat) 

# Create a group centered covariate 
males_c <- group.center(corrdat$males, corrdat$studyid)

Convenience function for calculating group-mean covariates.

Description

Creates a between-study (or between-cluster) version of the covariate in question.

Usage

group.mean(var, grp)

Arguments

var

The covariate cotaining the values to be group averaged.

grp

The group from which the average should be calculated.

Value

A column or vector containing the group.mean covariate.

Examples

# Load data
data(corrdat)

# Create a group mean covariate 
age_m <- group.mean(corrdat$age, corrdat$studynum)

hedgesdat

Description

Data from a meta-analysis on the effectiveness of phonics reading instruction by Ehri, Nunes, Stahl and Willows (2001). Data reported in Hedges, Tipton, and Johnson (2010) with example.

Format

A dataframe containing 179 effect sizes from 66 different studies

Source

Hedges, Tipton, and Johnson (2010)

References

Ehri, L.C., Nunes, S.R., Stahl, S.A., Willows, D.M. (2001) Systematic phonics instruction helps children learn to read: Evidence from the National Reading Panel's meta-analysis. Review of Educational Research. 71, 393–447.

Hedges, L.V., Tipton, E., Johnson, M.C. (2010) Robust variance estimation in meta-regression with dependent effect size estimates. Research Synthesis Methods. 1(1): 39–65. Erratum in 1(2): 164–165. DOI: 10.1002/jrsm.5


Data for Fitting Hierarchical Effects Model

Description

Fictional data used in TannerTanner-Smith and Tipton (2013).

Format

A dataframe containing 68 effect sizes from 15 studies used in Tanner- Smith and Tipton (2013).

Source

https://my.vanderbilt.edu/emilytannersmith/training-materials/

References

Tanner-Smith E.E., Tipton, E. (2013) Robust variance estimation with dependent effect sizes: practical considerations including a software tutorial in Stata and SPSS. Research Synthesis Methods. ISSN 1759-2887.


IAT Criterion-Related Correlations

Description

Data from a meta-analysis on IAT conducted by Oswald et al., (2013) examining the predictive validity of the Implicit Association Test (IAT) and various explicit measures of bias for a variety of criterion measures of discrimination. Included in the dataset are the study level correlations between IAT scores and some criterion measure of discrimination.

Format

A dataframe containing 308 effect sizes from 46 studies.

[,1] Study Factor
[,2] Crit.Domain Factor
[,3] IAT.ID Integer
[,4] IAT.Focus Factor
[,5] Crit.ID Integer
[,6] Crit.Cat Factor
[,7] Scoring Factor
[,8] Target Factor
[,9] Type Factor
[,10] Sample.ID Integer
[,11] N Integer
[,12] R Numeric

Source

Oswald FL, Mitchell G, Blanton H, Jaccard J, Tetlock PE (2013) Predicting ethnic and racial discrimination: a meta-analysis of IAT criterion studies. Journal of Personality and Social Psychology, 105(2), 171-192. ISSN 1939-1315. doi:10.1037/a0032734. PMID: 23773046.

References

Oswald FL, Mitchell G, Blanton H, Jaccard J, Tetlock PE (2013) Predicting ethnic and racial discrimination: a meta-analysis of IAT criterion studies. Journal of Personality and Social Psychology, 105(2), 171-192. ISSN 1939-1315. doi:10.1037/a0032734. PMID: 23773046.


IAT Criterion-Related Correlations

Description

Data from a meta-analysis on IAT conducted by Oswald et al., (2013) examining the predictive validity of the Implicit Association Test (IAT) and various explicit measures of bias for a variety of criterion measures of discrimination. Included in the dataset are the study-level correlations between IAT scores and criterion measures of neurological activity or response latency from the original oswald2013 dataset.

Format

A dataframe containing 32 effect sizes from 9 studies.

[,1] Study Factor
[,2] Crit.Domain Factor
[,3] IAT.ID Integer
[,4] IAT.Focus Factor
[,5] Crit.ID Integer
[,6] Crit.Cat Factor
[,7] Scoring Factor
[,8] Target Factor
[,9] Type Factor
[,10] Sample.ID Integer
[,11] N Integer
[,12] R Numeric
[,13] effect.size Numeric
[,14] var.eff.size Numeric

Source

Oswald FL, Mitchell G, Blanton H, Jaccard J, Tetlock PE (2013) Predicting ethnic and racial discrimination: a meta-analysis of IAT criterion studies. Journal of Personality and Social Psychology, 105(2), 171-192. ISSN 1939-1315. doi:10.1037/a0032734. PMID: 23773046.

References

Oswald FL, Mitchell G, Blanton H, Jaccard J, Tetlock PE (2013) Predicting ethnic and racial discrimination: a meta-analysis of IAT criterion studies. Journal of Personality and Social Psychology, 105(2), 171-192. ISSN 1939-1315. doi:10.1037/a0032734. PMID: 23773046.


Prediction method for a robumeta object.

Description

predict.robu produces the predicted mean and confidence interval of a fitted robumeta model object given a prediction vector.

Usage

## S3 method for class 'robu'
predict(object, pred.vector, level = 0.95, ...)

Arguments

object

A fitted robumeta model object.

pred.vector

A prediction vector containing the new covariate values.

level

Confidence level.

...

Additional arguments to predict.

Details

  • intercept If an intercept is included in the robumeta model, the first element should always be 1, representing the intercept, followed by the covariate values in appropriate order. If the robumeta model does not have an intercept, the prediction vector should begin with the first covariate value.

  • variable For continuous variables, use the variable value as the corresponding element value in pred.vector. For a categorical variable the original variable value should be transformed to match the coding system used in the robumeta model (e.g. dummy coding, deviation coding, etc.).

  • NA If the vector contains NAs, predict.robu will remove the corresponding covariates from the original data, and refit a new robumeta model. The prediction and confidence interval will be estimated based on the new model.

  robu_mod <- robu(LOR1 ~ study_design + duration + service_hrs, 
                   data = dropoutPrevention, 
                   studynum = studyID, 
                   var.eff.size = varLOR, 
                   modelweights = "HIER",
                   small = TRUE)

In this robumeta model, the first covariate is a categorical variable that contains three levels: "Matched" (33 percent, dummy code: 00), "Randomized"(24 percent, 01) and "non-match non-randomized"(43 percent, 10). The corresponding prediction vector begins with 1 (intercept), and followed by 0, 0, the dummy code for "Matched". The last two elements are 38 and 5, the values for duration and sevice_hrs.

                                          
  predict(object = robu_mod, pred.vector = c(1,0,0,38,5),level = 0.95)

If we do not know the value of duration, the prediction vector should be c(1,0,0,NA,5). predict.robu() will refit a new model without the covariate duration, and the prediction will be based on it.

  predict(object = robu_mod, pred.vector = c(1,0,0,NA,5),level = 0.95)

Value

prediction the predicted value based on the prediction vector.

se The standard error for the predicted mean.

t The t-statistic calculated based on the predicted mean.

df The small sample corrected degrees of freedom of the distribution of the t-statistic.

lower The lower bound of the confidence interval for the predicted mean.

upper The upper bound of the confidence interval for the predicted mean.


Outputs Model Information

Description

Prints relevant information from robu function.

Usage

## S3 method for class 'robu'
print(x, digits = 3, ...)

Arguments

x

Object from robu class.

digits

Controls the number of digits to print when printing numeric values.

...

Additional arguments to be passed to the fitting function.

References

Hedges, L.V., Tipton, E., Johnson, M.C. (2010) Robust variance estimation in meta-regression with dependent effect size estimates. Research Synthesis Methods. 1(1): 39–65. Erratum in 1(2): 164–165. DOI: 10.1002/jrsm.5

Tipton, E. (in press) Small sample adjustments for robust variance estimation with meta-regression. Psychological Methods.

Examples

# Load data
data(hierdat)

### Small-Sample Corrections - Hierarchical Dependence Model
HierMod  <-  robu(formula = effectsize ~ binge + followup + sreport
                   + age, data = hierdat, studynum = studyid, 
                   var.eff.size = var, modelweights = "HIER", small = FALSE)

print(HierMod) # Output results

Fitting Robust Variance Meta-Regression Models

Description

robu is used to meta-regression models using robust variance estimation (RVE) methods. robu can be used to estimate correlated and hierarchical effects models using the original (Hedges, Tipton and Johnson, 2010) and small-sample corrected (Tipton, 2013) RVE methods. In addition, robu contains options for fitting these models using user-specified weighting schemes (see the Appendix of Tipton (2013) for a discussion of non- efficient weights in RVE).

Usage

robu(formula, data, studynum, var.eff.size, userweights,
  modelweights = c("CORR", "HIER"), rho = 0.8, small = TRUE, ...)

Arguments

formula

An object of class "formula". A typical meta-regression formula will look similar to y ~ x1 + x2..., where y is a vector of effect sizes and x1 + x2... are (optional) user-specified covariates. An intercept only model can be specified with y ~ 1 and the intercept can be ommitted as follows y ~ -1 +....

data

A data frame, list or environment or an object coercible by as.data.frame to a data frame.

studynum

A vector of study numbers to be used in model fitting. studynum must be a numeric or factor variable that uniquely identifies each study.

var.eff.size

A vector of user-calculated effect-size variances.

userweights

A vector of user-specified weights if non-efficient weights are of interest. Users interested in non-efficient weights should see the Appendix of Tipton (2013) for a discussion of the role of non-efficient weights in RVE).

modelweights

User-specified model weighting scheme. The two two avialable options are modelweights = "CORR" and modelweights = "HIER". The default is "CORR". See Hedges, Tipton and Johnson (2010) and Tipton (2013) for extended explanations of each weighting scheme.

rho

User-specified within-study effect-size correlation used to fit correlated (modelweights = "CORR") effects meta-regression models. The value of rho must be between 0 and 1. The default value for rho is 0.8. rho is not specified for hierarchical (modelweights = "HIER") effects models.

small

small = TRUE is used to fit the meta-regression models with the small- sample corrections for both the residuals and degrees of freedom, as detailed in Tipton (2013). Users wishing to use the original RVE estimator must specify small = FALSE as the corrected estimator is the default option.

...

Additional arguments to be passed to the fitting function.

Value

output

A data frame containing some combination of the robust coefficient names and values, standard errors, t-test value, confidence intervals, degrees of freedom and statistical significance.

n

The number of studies in the sample n

.

k

The number of effect sizes in the sample k

.

k descriptives

the minimum min.k, mean mean.k, median median .k, and maximum max.k number of effect sizes per study.

tau.sq.

tau.sq is the between study variance component in the correlated effects meta-regression model and the between-cluster variance component in the hierarchical effects model. tau.sq is calculated using the method-of-moments estimator provided in Hedges, Tipton, and Johnson (2010). For the correlated effects model the method-of-moments estimar depends on the user-specified value of rho.

omega.sq.

omega.sq is the between-studies-within-cluster variance component for the hierarchical effects meta-regression model. omega.sq is calculated using the method-of-moments estimator provided in Hedges, Tipton, and Johnson (2010) erratum.

I.2

I.2 is a test statistics used to quantify the amount of variability in effect size estimates due to effect size heterogeneity as opposed to random variation.

References

Hedges, L.V., Tipton, E., Johnson, M.C. (2010) Robust variance estimation in meta-regression with dependent effect size estimates. Research Synthesis Methods. 1(1): 39–65. Erratum in 1(2): 164–165. DOI: 10.1002/jrsm.5

Tipton, E. (in press) Small sample adjustments for robust variance estimation with meta-regression. Psychological Methods.

Examples

# Load data
data(hierdat)

# Small-Sample Corrections - Hierarchical Dependence Model
HierModSm <-  robu(formula = effectsize ~ binge + followup + sreport
                   + age, data = hierdat, studynum = studyid, 
                   var.eff.size = var, modelweights = "HIER", small = TRUE)

print(HierModSm) # Output results

Sensitivity Analysis for Correlated Effects RVE

Description

sensitivity is used to assess the impact of differing rho values on the correlated effects meta-regression model.

Usage

sensitivity(x)

Arguments

x

A dataframe containing values of rho, tau squared, coefficient estimates, and standard errors.

References

Hedges, L.V., Tipton, E., Johnson, M.C. (2010) Robust variance estimation in meta-regression with dependent effect size estimates. Research Synthesis Methods. 1(1): 39–65. Erratum in 1(2): 164–165. DOI: 10.1002/jrsm.5

Tipton, E. (in press) Small sample adjustments for robust variance estimation with meta-regression. Psychological Methods.

Examples

# Correlated Effects Model
CorrMod   <-  robu(formula = effectsize ~ followup + males + binge + college, 
                   data = corrdat, studynum = studyid, var.eff.size = var, 
                   rho = .8, modelweights = "CORR", small = FALSE)

sensitivity(CorrMod) # Output sensitivity