Article

Mizumoto, A., & Chujo, K. (2015, in press). A meta-analysis of data-driven learning approach in the Japanese EFL classroom.
English Corpus Studies, 22 -> Download the paper


Data

1. Coding sheet
2. Data used for analysis


Importing the data to R

dat <- read.csv("http://www.mizumot.com/files/ecs2015.csv", header=T)
dat # Showing the data
##                                     Study            Measure   n hours   r
## 1             Chujo & Oghigian (2007) - 1 Level 2 (category)  20  15.0 0.6
## 2             Chujo & Oghigian (2007) - 2 Level 2 (category)  20  15.0 0.6
## 3             Chujo & Oghigian (2007) - 3   Level 3 (phrase)  20  15.0 0.6
## 4             Chujo & Oghigian (2007) - 4        Proficiency  20  15.0 0.6
## 5                        Chujo (2008) - 1 Level 2 (category)  75  15.0 0.6
## 6                        Chujo (2008) - 2   Level 3 (phrase)  75  15.0 0.6
## 7                     Chujo et al. (2008)   Level 3 (phrase)  21   7.5 0.6
## 8   Chujo, Anthony, & Oghigian (2009) - 1    Level 1 (lemma)  22  15.0 0.6
## 9   Chujo, Anthony, & Oghigian (2009) - 2 Level 2 (category)  22  15.0 0.6
## 10  Chujo, Anthony, & Oghigian (2009) - 3   Level 3 (phrase)  22  15.0 0.6
## 11    Chujo, Oghigian, & Nishigaki (2012)   Level 3 (phrase)  15   7.5 0.6
## 12                Chujo et al. (2012) - 1   Level 3 (phrase)  22   7.5 0.6
## 13                Chujo et al. (2012) - 2   Level 3 (phrase)  22   7.5 0.6
## 14                Chujo et al. (2012) - 3   Level 3 (phrase)  22   7.5 0.6
## 15            Chujo & Oghigian (2012) - 1    Level 1 (lemma)  25   7.5 0.6
## 16            Chujo & Oghigian (2012) - 2   Level 3 (phrase)  25   7.5 0.6
## 17            Chujo & Oghigian (2012) - 3        Proficiency  25  15.0 0.6
## 18            Chujo & Oghigian (2012) - 4    Level 1 (lemma)  14   7.5 0.6
## 19            Chujo & Oghigian (2012) - 5   Level 3 (phrase)  14   7.5 0.6
## 20            Chujo & Oghigian (2012) - 6        Proficiency  14  15.0 0.6
## 21 Chujo, Oghigian, & Uchibori (2013) - 1   Level 3 (phrase)  25   7.5 0.6
## 22 Chujo, Oghigian, & Uchibori (2013) - 2        Proficiency  25  15.0 0.6
## 23 Chujo, Oghigian, & Uchibori (2013) - 3   Level 3 (phrase)  25   7.5 0.6
## 24 Chujo, Oghigian, & Uchibori (2013) - 4        Proficiency  25  15.0 0.6
## 25      Nishigaki, Chujo, & Kijima (2010)    Level 1 (lemma)  12   1.0 0.6
## 26   Nishigaki, Minegishi, & Chujo (2012) Level 2 (category)  27   1.0 0.6
## 27            Nishigaki et al. (2013) - 1 Level 2 (category)  32   1.0 0.6
## 28            Nishigaki et al. (2013) - 2 Level 2 (category)  15   1.0 0.6
## 29              Anthony et al. (2014) - 1 Level 2 (category)  62   7.5 0.6
## 30              Anthony et al. (2014) - 2 Level 2 (category)  41   7.5 0.6
## 31                   Chujo et al. (2014a)   Level 3 (phrase) 145   7.5 0.6
## 32                   Chujo et al. (2014b)   Level 3 (phrase)  14   7.5 0.6
##        yi     vi
## 1  0.5268 0.0469
## 2  0.9844 0.0642
## 3  0.4102 0.0442
## 4  0.6454 0.0504
## 5  0.7642 0.0146
## 6  0.7551 0.0145
## 7  1.5154 0.0928
## 8  3.5950 0.3301
## 9  0.5365 0.0429
## 10 0.8148 0.0515
## 11 0.9454 0.0831
## 12 0.8986 0.0547
## 13 0.7046 0.0476
## 14 0.6612 0.0463
## 15 2.6498 0.1724
## 16 1.0241 0.0530
## 17 0.3387 0.0343
## 18 2.1781 0.2266
## 19 0.7886 0.0794
## 20 0.5971 0.0699
## 21 1.0237 0.0530
## 22 0.3813 0.0349
## 23 0.7665 0.0437
## 24 0.2316 0.0331
## 25 3.9703 0.7235
## 26 1.1476 0.0540
## 27 0.6504 0.0316
## 28 1.0941 0.0932
## 29 0.8943 0.0194
## 30 0.9306 0.0301
## 31 1.1238 0.0099
## 32 0.6601 0.0727

Conducting meta-analysis (Random-effects model)

# Install package (library) if not installed
usePackage <- function(p) {
    if (!is.element(p, installed.packages()[,1]))
        install.packages(p, dep = TRUE)
    require(p, character.only = TRUE)
}
usePackage("metafor") # Load "metafor" package
RE.res <- rma(yi, vi, data=dat, slab=paste(Study))
RE.res
## 
## Random-Effects Model (k = 32; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.1666 (SE = 0.0568)
## tau (square root of estimated tau^2 value):      0.4082
## I^2 (total heterogeneity / total variability):   80.16%
## H^2 (total variability / sampling variability):  5.04
## 
## Test for Heterogeneity: 
## Q(df = 31) = 119.1335, p-val < .0001
## 
## Model Results:
## 
## estimate       se     zval     pval    ci.lb    ci.ub          
##   0.9021   0.0845  10.6724   <.0001   0.7364   1.0678      *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Funnel plot (All)

funnel(RE.res)
title(main="All")

plot of chunk unnamed-chunk-3

regtest(RE.res, model="lm") # p > .05(non-significant)indicates the funnel plot is NOT asymmetry(No publication bias).
## 
## Regression Test for Funnel Plot Asymmetry
## 
## model:     weighted regression with multiplicative dispersion
## predictor: standard error
## 
## test for funnel plot asymmetry: t = 2.3661, df = 30, p = 0.0246


Forest plot

par(mar=c(4,4,1,2))
forest(RE.res, xlim=c(-3, 7.5), ylim=c(-1, 55), steps=9, rows=c(50:47, 41:33, 27:14, 8:4),
       order=order(dat$Measure), ilab=dat$n, ilab.xpos=-0.5,
       xlab="Standarized Mean Difference (95% CI)", mlab="RE Model for All Studies")

# set font expansion factor (as in forest() above) and use bold italic font and save original settings in object 'op'
op <- par(cex=1.15, font=4)

# add text for the subgroups
text(-3, c(51.5, 42.5, 28.5, 9.5), pos=4, c("Level 1 (lemma)",
                               "Level 2 (category)",
                               "Level 3 (phrase)",
                               "Proficiency"))
par(font=2) # switch to bold font

# add column headings to the plot
text(-3, 54, "Study", pos=4)
text(-0.65, 54, "n", pos=4)
text(7.5, 54, "Effect Size [95%CI]", pos=2)
# set par back to the original settings
par(op)

# fit random-effects model in the subgroups
res.1 <- rma(yi, vi, data=dat, subset=(Measure=="Level 1 (lemma)"))
res.2 <- rma(yi, vi, data=dat, subset=(Measure=="Level 2 (category)"))
res.3 <- rma(yi, vi, data=dat, subset=(Measure=="Level 3 (phrase)"))
res.4 <- rma(yi, vi, data=dat, subset=(Measure=="Proficiency"))

# add summary polygons for the subgroups
addpoly(res.1, row=45.5, cex=1, mlab="RE Model for Level 1")
addpoly(res.2, row=31.5, cex=1, mlab="RE Model for Level 2")
addpoly(res.3, row=12.5, cex=1, mlab="RE Model for Level  3")
addpoly(res.4, row=2.5, cex=1, mlab="RE Model for Proficiency")

plot of chunk unnamed-chunk-4

Subgroup analysis (Random-effects model)

dat2 <- split(dat, dat$Measure) # Deviding the studies into groups (procedures)

# Level 1 (lemma)
RE.res1 <- rma(yi, vi, data=dat2[[1]])
RE.res1
## 
## Random-Effects Model (k = 4; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.2621 (SE = 0.4611)
## tau (square root of estimated tau^2 value):      0.5120
## I^2 (total heterogeneity / total variability):   47.21%
## H^2 (total variability / sampling variability):  1.89
## 
## Test for Heterogeneity: 
## Q(df = 3) = 5.6338, p-val = 0.1309
## 
## Model Results:
## 
## estimate       se     zval     pval    ci.lb    ci.ub          
##   2.9293   0.3766   7.7781   <.0001   2.1912   3.6674      *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Level 2 (category)
RE.res2 <- rma(yi, vi, data=dat2[[2]])
RE.res2
## 
## Random-Effects Model (k = 9; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.0000 (SE = 0.0151)
## tau (square root of estimated tau^2 value):      0.0017
## I^2 (total heterogeneity / total variability):   0.01%
## H^2 (total variability / sampling variability):  1.00
## 
## Test for Heterogeneity: 
## Q(df = 8) = 8.7032, p-val = 0.3680
## 
## Model Results:
## 
## estimate       se     zval     pval    ci.lb    ci.ub          
##   0.8092   0.0604  13.4020   <.0001   0.6908   0.9275      *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Level 3 (phrase)
RE.res3 <- rma(yi, vi, data=dat2[[3]])
RE.res3
## 
## Random-Effects Model (k = 14; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.0207 (SE = 0.0241)
## tau (square root of estimated tau^2 value):      0.1440
## I^2 (total heterogeneity / total variability):   34.69%
## H^2 (total variability / sampling variability):  1.53
## 
## Test for Heterogeneity: 
## Q(df = 13) = 20.0767, p-val = 0.0933
## 
## Model Results:
## 
## estimate       se     zval     pval    ci.lb    ci.ub          
##   0.8604   0.0682  12.6126   <.0001   0.7267   0.9941      *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Proficiency
RE.res4 <- rma(yi, vi, data=dat2[[4]])
RE.res4
## 
## Random-Effects Model (k = 5; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0 (SE = 0.0286)
## tau (square root of estimated tau^2 value):      0
## I^2 (total heterogeneity / total variability):   0.00%
## H^2 (total variability / sampling variability):  1.00
## 
## Test for Heterogeneity: 
## Q(df = 4) = 2.7263, p-val = 0.6046
## 
## Model Results:
## 
## estimate       se     zval     pval    ci.lb    ci.ub          
##   0.4023   0.0905   4.4463   <.0001   0.2250   0.5796      *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Funnel plot (Subgroups)

# Level 1 (lemma)
funnel(RE.res1)
title(main="Level 1 (lemma)")

plot of chunk unnamed-chunk-6

# Level 1 (lemma)
regtest(RE.res1, model="lm")
## 
## Regression Test for Funnel Plot Asymmetry
## 
## model:     weighted regression with multiplicative dispersion
## predictor: standard error
## 
## test for funnel plot asymmetry: t = 1.7381, df = 2, p = 0.2243
# Level 2 (category)
funnel(RE.res2)
title(main="Level 2 (category)")

plot of chunk unnamed-chunk-6

# Level 2 (category)
regtest(RE.res2, model="lm")
## 
## Regression Test for Funnel Plot Asymmetry
## 
## model:     weighted regression with multiplicative dispersion
## predictor: standard error
## 
## test for funnel plot asymmetry: t = 0.5704, df = 7, p = 0.5863
# Level 3 (phrase)
funnel(RE.res3)
title(main="Level 3 (phrase)")

plot of chunk unnamed-chunk-6

# Level 3 (phrase)
regtest(RE.res3, model="lm")
## 
## Regression Test for Funnel Plot Asymmetry
## 
## model:     weighted regression with multiplicative dispersion
## predictor: standard error
## 
## test for funnel plot asymmetry: t = -0.8382, df = 12, p = 0.4183
# Proficiency
funnel(RE.res4)
title(main="Proficiency")

plot of chunk unnamed-chunk-6

# Proficiency
regtest(RE.res4, model="lm")
## 
## Regression Test for Funnel Plot Asymmetry
## 
## model:     weighted regression with multiplicative dispersion
## predictor: standard error
## 
## test for funnel plot asymmetry: t = 2.7825, df = 3, p = 0.0688

Contact

Atsushi MIZUMOTO, Ph.D.
Associate Professor of Applied Linguistics
Faculty of Foreign Language Studies
Graduate School of Foreign Language Education and Research
Kansai University, Osaka, Japan