R code Raudenbush example without output

R-code Raudenbush example (G0B75A Meta-analysis)
>## the first time, install the package (using the ‘Packages’ menu)
>## also load the package ‘metafor’ before using it
>library(metafor) # or use the ‘Packages’ menu)
>##importing data & looking at data
> ## save the data in excel as a csv-file
> ## in R, select directory with data
> setwd("C:/Users/u0006844/Documents/AA-meta-analyse/algemeen/demonstration R") ##or use
the File menu (change dir)
> raud <- read.table("Raudenbush.csv", header = TRUE, sep=";") #reads in data. Data will be called
‘raud’
> raud ##prints the complete dataframe
study weeks d se
1 1 2 0.03 0.125
2 2 3 0.12 0.147
3 3 3 -0.14 0.167
4 4 0 1.18 0.373
5 5 0 0.26 0.369
6 6 3 -0.06 0.103
7 7 3 -0.02 0.103
8 8 3 -0.32 0.220
9 9 0 0.27 0.164
10 10 1 0.80 0.251
11 11 0 0.54 0.302
12 12 0 0.18 0.223
13 13 1 -0.02 0.289
14 14 2 0.23 0.290
15 15 3 -0.18 0.159
16 16 3 -0.06 0.167
17 17 1 0.30 0.139
18 18 2 0.07 0.094
19 19 3 -0.07 0.174
> raud[1:10,] ## prints first ten rows (and all colums)
study weeks d se
1 1 2 0.03 0.125
2 2 3 0.12 0.147
3 3 3 -0.14 0.167
4 4 0 1.18 0.373
5 5 0 0.26 0.369
6 6 3 -0.06 0.103
7 7 3 -0.02 0.103
8 8 3 -0.32 0.220
9 9 0 0.27 0.164
10 10 1 0.80 0.251
> raud[c(1, 3,10),1:2] ## prints specific rows (and first two columns)
study weeks
1
1 1 2
3 3 3
10 10 1
> str(raud)## shows some attributes and first scores for each variable
'data.frame': 19 obs. of 4 variables:
$ study: int 1 2 3 4 5 6 7 8 9 10 ...
$ weeks: int 2 3 3 0 0 3 3 3 0 1 ...
$ d : num 0.03 0.12 -0.14 1.18 0.26 -0.06 -0.02 -0.32 0.27 0.8 ...
$ se : num 0.125 0.147 0.167 0.373 0.369 0.103 0.103 0.22 0.164 0.251 ...
> raud$var<-raud$se^2 ## adds the sampling variance as a new variable
>##performing the analyses
> FEM<-rma(d, var, data=raud, method="FE") ## to run a fixed effects model. Results are stored with
the name ‘FEM’
> summary(FEM) ## shows the results
Fixed-Effects Model (k = 19)
Test for Heterogeneity:
Q(df = 18) = 35.8254, p-val = 0.0074
Model Results:
estimate
se zval pval ci.lb ci.ub
0.0603 0.0365 1.6539 0.0981 -0.0112 0.1319
.
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> REM<-rma(d, var, data=raud, method="REML") ## to run a random effects model
> summary(REM)
Random-Effects Model (k = 19; tau^2 estimator: REML)
tau^2 (estimate of total amount of heterogeneity): 0.0188 (SE = 0.0155)
tau (sqrt of the estimate of total heterogeneity): 0.1372
I^2 (% of total variability due to heterogeneity): 41.85%
H^2 (total variability / within-study variance): 1.72
Test for Heterogeneity:
Q(df = 18) = 35.8254, p-val = 0.0074
Model Results:
estimate
se zval pval ci.lb ci.ub
0.0837 0.0517 1.6203 0.1052 -0.0175 0.1849
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
2
> forest(REM)
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
0.03 [ -0.21 , 0.27 ]
0.12 [ -0.17 , 0.41 ]
-0.14 [ -0.47 , 0.19 ]
1.18 [ 0.45 , 1.91 ]
0.26 [ -0.46 , 0.98 ]
-0.06 [ -0.26 , 0.14 ]
-0.02 [ -0.22 , 0.18 ]
-0.32 [ -0.75 , 0.11 ]
0.27 [ -0.05 , 0.59 ]
0.80 [ 0.31 , 1.29 ]
0.54 [ -0.05 , 1.13 ]
0.18 [ -0.26 , 0.62 ]
-0.02 [ -0.59 , 0.55 ]
0.23 [ -0.34 , 0.80 ]
-0.18 [ -0.49 , 0.13 ]
-0.06 [ -0.39 , 0.27 ]
0.30 [ 0.03 , 0.57 ]
0.07 [ -0.11 , 0.25 ]
-0.07 [ -0.41 , 0.27 ]
RE Model
0.08 [ -0.02 , 0.18 ]
-1.28
-0.35
0.58
1.51
Observed Outcome
> forest(REM, order="obs")
3
2.44
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
Study
8
15
3
19
6
16
7
13
1
18
2
12
14
5
9
17
11
10
4
-0.32 [ -0.75 , 0.11 ]
-0.18 [ -0.49 , 0.13 ]
-0.14 [ -0.47 , 0.19 ]
-0.07 [ -0.41 , 0.27 ]
-0.06 [ -0.26 , 0.14 ]
-0.06 [ -0.39 , 0.27 ]
-0.02 [ -0.22 , 0.18 ]
-0.02 [ -0.59 , 0.55 ]
0.03 [ -0.21 , 0.27 ]
0.07 [ -0.11 , 0.25 ]
0.12 [ -0.17 , 0.41 ]
0.18 [ -0.26 , 0.62 ]
0.23 [ -0.34 , 0.80 ]
0.26 [ -0.46 , 0.98 ]
0.27 [ -0.05 , 0.59 ]
0.30 [ 0.03 , 0.57 ]
0.54 [ -0.05 , 1.13 ]
0.80 [ 0.31 , 1.29 ]
1.18 [ 0.45 , 1.91 ]
RE Model
0.08 [ -0.02 , 0.18 ]
-1.28
-0.35
0.58
1.51
2.44
Observed Outcome
> ## Influential studies?
> leave1out(REM)
estimate se
zval
pval ci.lb
ci.ub
Q
Qp
tau2 I2
H2
1 0.0952 0.0588 1.6183 0.1056 -0.0201 0.2105 35.7610 0.0049 0.0274 50.0985 2.0039
2 0.0870 0.0576 1.5101 0.1310 -0.0259 0.2000 35.6499 0.0051 0.0257 49.2353 1.9699
3 0.0990 0.0544 1.8204 0.0687 -0.0076 0.2055 34.3140 0.0076 0.0207 44.1604 1.7908
4 0.0577 0.0444 1.3011 0.1932 -0.0292 0.1447 26.7278 0.0622 0.0080 24.2475 1.3201
5 0.0814 0.0528 1.5440 0.1226 -0.0219 0.1848 35.5297 0.0053 0.0199 44.2657 1.7942
6 0.1017 0.0571 1.7812 0.0749 -0.0102 0.2136 34.2644 0.0078 0.0237 45.4684 1.8338
7 0.0999 0.0587 1.7030 0.0886 -0.0151 0.2149 35.1296 0.0060 0.0265 48.2143 1.9310
8 0.0974 0.0509 1.9124 0.0558 -0.0024 0.1971 32.7520 0.0121 0.0161 38.6843 1.6309
9 0.0712 0.0526 1.3550 0.1754 -0.0318 0.1742 34.1060 0.0081 0.0178 40.4737 1.6799
10 0.0473 0.0398 1.1882 0.2348 -0.0307 0.1252 26.9541 0.0587 0.0026 9.4237 1.1040
11 0.0693 0.0496 1.3968 0.1625 -0.0280 0.1666 33.2654 0.0104 0.0148 37.0883 1.5895
12 0.0825 0.0547 1.5075 0.1317 -0.0248 0.1897 35.5295 0.0053 0.0221 46.3850 1.8651
13 0.0894 0.0544 1.6440 0.1002 -0.0172 0.1960 35.7468 0.0050 0.0221 46.7351 1.8774
14 0.0812 0.0534 1.5202 0.1285 -0.0235 0.1858 35.4776 0.0054 0.0205 44.8753 1.8141
15 0.0995 0.0525 1.8951 0.0581 -0.0034 0.2024 33.4134 0.0100 0.0176 40.1511 1.6709
16 0.0969 0.0564 1.7197 0.0855 -0.0135 0.2074 35.2800 0.0057 0.0240 47.8326 1.9169
17 0.0575 0.0472 1.2181 0.2232 -0.0350 0.1500 32.6327 0.0125 0.0098 26.8607 1.3673
18 0.0936 0.0602 1.5545 0.1201 -0.0244 0.2116 35.8129 0.0049 0.0291 49.9456 1.9978
19 0.0968 0.0561 1.7262 0.0843 -0.0131 0.2067 35.2384 0.0058 0.0236 47.5548 1.9068
4
> ## Checking normality assumption
> qqnorm(REM)
1
0
-1
Sample Quantiles
2
Normal Q-Q Plot
-2
-1
0
Theoretical Quantiles
> ## getting empirical Bayes estimates for individual study effects
> blup(REM)
pred se pi.lb pi.ub
1 0.0543 0.0953 -0.1325 0.2412
2 0.1006 0.1040 -0.1033 0.3045
3 -0.0065 0.1104 -0.2229 0.2099
4 0.2144 0.1366 -0.0533 0.4822
5 0.1051 0.1364 -0.1622 0.3725
6 -0.0082 0.0845 -0.1738 0.1573
7 0.0174 0.0845 -0.1482 0.1829
8 -0.0294 0.1222 -0.2690 0.2102
9 0.1604 0.1095 -0.0543 0.3751
10 0.2486 0.1268 0.0000 0.4971
11 0.1618 0.1321 -0.0971 0.4207
12 0.1102 0.1227 -0.1304 0.3507
13 0.0646 0.1309 -0.1920 0.3213
14 0.1105 0.1310 -0.1464 0.3673
15 -0.0289 0.1080 -0.2406 0.1828
16 0.0258 0.1104 -0.1907 0.2422
17 0.1905 0.1011 -0.0077 0.3886
18 0.0744 0.0793 -0.0810 0.2298
19 0.0248 0.1124 -0.1955 0.2450
5
1
2
>## convergence over time?
> x<-cumul(REM, order=order(raud$study))
> forest(x)
Study 1
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
+ Study
0.03 [ -0.21 , 0.27 ]
0.07 [ -0.12 , 0.25 ]
0.02 [ -0.15 , 0.18 ]
0.21 [ -0.25 , 0.66 ]
0.19 [ -0.15 , 0.53 ]
0.03 [ -0.10 , 0.16 ]
0.02 [ -0.09 , 0.12 ]
0.00 [ -0.11 , 0.10 ]
0.02 [ -0.08 , 0.12 ]
0.13 [ -0.07 , 0.34 ]
0.16 [ -0.04 , 0.37 ]
0.15 [ -0.03 , 0.34 ]
0.14 [ -0.03 , 0.31 ]
0.14 [ -0.02 , 0.29 ]
0.11 [ -0.04 , 0.26 ]
0.09 [ -0.04 , 0.22 ]
0.11 [ -0.02 , 0.24 ]
0.10 [ -0.01 , 0.21 ]
0.08 [ -0.02 , 0.18 ]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-0.43
-0.11
0.2
0.52
Overall Estimate
>##publication bias?
> funnel(FEM)
6
0.84
0.000
0.093
0.186
0.373
0.280
Standard Error
-0.50
0.00
0.50
Observed Outcome
> trimfill(FEM)
Estimated number of missing studies on the left side: 3
Fixed-Effects Model (k = 22)
Test for Heterogeneity:
Q(df = 21) = 58.7497, p-val < .0001
Model Results:
estimate
se zval pval ci.lb ci.ub
0.0254 0.0357 0.7123 0.4763 -0.0445 0.0954
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> funnel(trimfill(FEM))
Estimated number of missing studies on the left side: 3
7
1.00
0.000
0.093
0.186
0.373
0.280
Standard Error
-1.00
-0.50
0.00
0.50
1.00
1.50
Observed Outcome
> regtest(FEM, model = 'lm', predictor = 'se')# Regresion test, Egger’s intercept test
Regression Test for Funnel Plot Asymmetry
model: weighted regression with multiplicative dispersion
predictor: standard error
test for funnel plot asymmetry: t = 2.0410, df = 17, p = 0.0571
> ranktest (FEM) #Begg’s test
Rank Correlation Test for Funnel Plot Asymmetry
Kendall's tau = 0.3000, p = 0.0740
Warning message:
In cor.test.default(yi.star, vi, method = "kendall", exact = TRUE) :
Cannot compute exact p-value with ties
> fsn(d, se, data =raud)#failsafeN
Fail-safe N Calculation Using the Rosenthal Approach
Observed Significance Level: 0.0929
Target Significance Level: 0.05
Fail-safe N: 0
8
> ## exploring the moderating effect of Weeks as a categorical variable (ANOVA-model)
> FEMANOVA<-rma(d, var, data=raud, mods=~factor(weeks), method="FE") ## a fixed effects avova
model
> ## 0-weeks = reference-category. For other categories, the coefficient indicates how much larger
the effect is.
> summary(FEMANOVA)
Fixed-Effects with Moderators Model (k = 19)
Test for Residual Heterogeneity:
QE(df = 15) = 15.4466, p-val = 0.4198
Test of Moderators (coefficient(s) 2,3,4):
QM(df = 3) = 20.3788, p-val = 0.0001
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt
0.3620 0.1099 3.2939 0.0010 0.1466 0.5774 ***
factor(weeks)1 -0.0105 0.1570 -0.0666 0.9469 -0.3181 0.2972
factor(weeks)2 -0.2955 0.1318 -2.2422 0.0249 -0.5538 -0.0372 *
factor(weeks)3 -0.4251 0.1208 -3.5201 0.0004 -0.6617 -0.1884 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> FEMANOVA2<-rma(d, var, data=raud, mods=~factor(weeks)-1, method="FE") ## to run a fixed
effects avova model without reference category.
> summary(FEMANOVA2)
Fixed-Effects with Moderators Model (k = 19)
Test for Residual Heterogeneity:
QE(df = 15) = 15.4466, p-val = 0.4198
Test of Moderators (coefficient(s) 1,2,3,4):
QM(df = 4) = 23.1142, p-val = 0.0001
Model Results:
estimate se
factor(weeks)0 0.3620
factor(weeks)1 0.3516
factor(weeks)2 0.0665
factor(weeks)3 -0.0630
zval pval ci.lb ci.ub
0.1099 3.2939 0.0010 0.1466 0.5774 ***
0.1121 3.1367 0.0017 0.1319 0.5712 **
0.0727 0.9147 0.3604 -0.0760 0.2091
0.0500 -1.2605 0.2075 -0.1611 0.0350
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> ## getting empirical Bayes estimates for individual study effects
> blup(FEMANOVA)
9
pred se pi.lb pi.ub
1 0.0665 0.0727 -0.0760 0.2091
2 -0.0630 0.0500 -0.1611 0.0350
3 -0.0630 0.0500 -0.1611 0.0350
4 0.3620 0.1099 0.1466 0.5774
5 0.3620 0.1099 0.1466 0.5774
6 -0.0630 0.0500 -0.1611 0.0350
7 -0.0630 0.0500 -0.1611 0.0350
8 -0.0630 0.0500 -0.1611 0.0350
9 0.3620 0.1099 0.1466 0.5774
10 0.3516 0.1121 0.1319 0.5712
11 0.3620 0.1099 0.1466 0.5774
12 0.3620 0.1099 0.1466 0.5774
13 0.3516 0.1121 0.1319 0.5712
14 0.0665 0.0727 -0.0760 0.2091
15 -0.0630 0.0500 -0.1611 0.0350
16 -0.0630 0.0500 -0.1611 0.0350
17 0.3516 0.1121 0.1319 0.5712
18 0.0665 0.0727 -0.0760 0.2091
19 -0.0630 0.0500 -0.1611 0.0350
> FEM0<-rma(d, var, data=raud[raud$week==0,] , method="FE") ## to run a separate analysis for
weeks=0
>summary(FEM0)
Fixed-Effects Model (k = 5)
Test for Heterogeneity:
Q(df = 4) = 6.2140, p-val = 0.1837
Model Results:
estimate
se zval pval ci.lb ci.ub
0.3620 0.1099 3.2939 0.0010 0.1466 0.5774
***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> REMANOVA<- rma(d, var, data=raud, mods=~factor(weeks), method="REML") ## to run a random
effects avova model
> summary(REMANOVA)
Mixed-Effects Model (k = 19; tau^2 estimator: REML)
tau^2 (estimate of residual amount of heterogeneity): 0.0000 (SE = 0.0083)
tau (sqrt of the estimate of residual heterogeneity): 0.0006
Test for Residual Heterogeneity:
QE(df = 15) = 15.4466, p-val = 0.4198
10
Test of Moderators (coefficient(s) 2,3,4):
QM(df = 3) = 20.3785, p-val = 0.0001
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt
0.3620 0.1099 3.2939 0.0010 0.1466 0.5774 ***
factor(weeks)1 -0.0105 0.1570 -0.0666 0.9469 -0.3181 0.2972
factor(weeks)2 -0.2955 0.1318 -2.2422 0.0250 -0.5538 -0.0372 *
factor(weeks)3 -0.4251 0.1208 -3.5201 0.0004 -0.6617 -0.1884 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> ##exploring the moderatoing effect of Weeks as a continuous variable
> FERM<-rma(d, var, data=raud, mods=weeks, method="FE") ## to run a fixed effects reg. model
> RERM<-rma(d, var, data=raud, mods= weeks, method="REML") ## to run a random effects
regression model
> summary(FERM)
Fixed-Effects with Moderators Model (k = 19)
Test for Residual Heterogeneity:
QE(df = 17) = 16.5680, p-val = 0.4840
Test of Moderators (coefficient(s) 2):
QM(df = 1) = 19.2573, p-val < .0001
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt 0.4072 0.0871 4.6775 <.0001 0.2366 0.5779 ***
mods -0.1573 0.0358 -4.3883 <.0001 -0.2275 -0.0870 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary(RERM)
Mixed-Effects Model (k = 19; tau^2 estimator: REML)
tau^2 (estimate of residual amount of heterogeneity): 0.0000 (SE = 0.0072)
tau (sqrt of the estimate of residual heterogeneity): 0.0014
Test for Residual Heterogeneity:
QE(df = 17) = 16.5680, p-val = 0.4840
Test of Moderators (coefficient(s) 2):
QM(df = 1) = 19.2562, p-val < .0001
11
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt 0.4072 0.0871 4.6774 <.0001 0.2366 0.5779 ***
mods -0.1573 0.0358 -4.3882 <.0001 -0.2275 -0.0870 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> ## getting empirical Bayes estimates for individual study effects
> blup(RERM, digits=3)
pred se pi.lb pi.ub
1 0.093 0.037 0.020 0.166
2 -0.065 0.046 -0.155 0.026
3 -0.065 0.046 -0.155 0.026
4 0.407 0.087 0.237 0.578
5 0.407 0.087 0.237 0.578
6 -0.065 0.046 -0.155 0.026
7 -0.065 0.046 -0.155 0.026
8 -0.065 0.046 -0.155 0.026
9 0.407 0.087 0.237 0.578
10 0.250 0.057 0.139 0.361
11 0.407 0.087 0.237 0.578
12 0.407 0.087 0.237 0.578
13 0.250 0.057 0.139 0.361
14 0.093 0.037 0.020 0.166
15 -0.065 0.046 -0.155 0.026
16 -0.065 0.046 -0.155 0.026
17 0.250 0.057 0.139 0.361
18 0.093 0.037 0.020 0.166
19 -0.065 0.046 -0.155 0.026
> ## Scatterplot with Predictions
> ## dots proportional to the inverse sampling variance
>
> ##calculate predictions for values between 0 and 3, in steps of .1
> preds <- predict(FERM, newmods=seq(0,3,.1))
> wi <- 1/(raud$var)
> size <- 0.5 + 2.0 * (wi - min(wi))/(max(wi) - min(wi))
>
> ## make plot
> plot(raud$weeks, raud$d, cex=size, pch=19, bty="l", xaxt="n",
+ xlab="Weeks of Prior Contact", ylab="Standardized Mean Difference")
> axis(side=1, at=c(0,1,2,3), labels=c("0", "1", "2", ">2"))
>
> ## draw regression line, confidence bands & line for zero effect
> lines(seq(0,3,.1), preds$pred)
> lines(seq(0,3,.1), preds$ci.lb, lty="dashed")
> lines(seq(0,3,.1), preds$ci.ub, lty="dashed")
> abline(h=0, lty="dotted")
12
13
R-code calculation effect sizes
>## standardized mean differences
> data1 <- data.frame(study=c(1,2), m1i=c(0, 2), sd1i = c(1, 2), n1i = c(100, 1000), m2i = c(2, 6), sd2i =
c(1, 2), n2i = c(100, 1000))
> data1
study m1i sd1i n1i m2i sd2i n2i
1 1 0 1 100 2 1 100
2 2 2 2 1000 6 2 1000
> data1 <-escalc(m1i=m1i, sd1i=sd1i, n1i=n1i, m2i=m2i, sd2i=sd2i, n2i=n2i, measure= "SMD",
data=data1, append=TRUE)
> data1
study m1i sd1i n1i m2i sd2i n2i
yi
vi
1 1 0 1 100 2 1 100 -1.992413 0.029924275
2 2 2 2 1000 6 2 1000 -1.999249 0.002999249
>## log odds ratios
>## assume that we have k tables of the form:
>##
outcome1 outcome2
total
>## group1
ai
bi
n1i
>## group2
ci
di
n2i
> data2 <- data.frame(study=c(1,2), ai=c(5, 32), bi = c(10, 15), ci=c(7, 17), di=c(3, 17), n1i = c(15, 47),
n2i=c(10, 34))
> data2
study ai bi ci di n1i n2i
1 1 5 10 7 3 15 10
2 2 32 15 17 17 47 34
> data2 <-escalc(ai=ai, bi=bi, ci=ci, di=di, n1i=n1i, n2i=n2i, measure= "OR", data=data2, append=TRUE)
> data2
study ai bi ci di n1i n2i
yi
vi
1 1 5 10 7 3 15 10 -1.5404450 0.7761905
2 2 32 15 17 17 47 34 0.7576857 0.2155637
>## correlation coefficients
> data3 <- data.frame(study=c(1,2), ri=c(.30, .24), ni = c(34, 72))
> data3
study ri ni
1 1 0.30 34
2 2 0.24 72
> data3 <-escalc(ri=ri, ni=ni, measure= "ZCOR", data=data3, append=TRUE)
> data3
study ri ni
yi
vi
1 1 0.30 34 0.3095196 0.03225806
2 2 0.24 72 0.2447741 0.01449275
14