Package: eefAnalytics
Version: 1.0.8
Date: 2020-10-15
Title: Robust Analytical Methods for Evaluating Educational Interventions using Randomised Controlled Trials Designs
Description: eefAnalytics provides tools for analysing data from evaluations of educational interventions using a randomised controlled trial designs. It provides analytical tools to perform sensitivity analysis using different methods(e.g. frequentist models with bootstrapping and permutations options, Bayesian models). The functions contained in this package can be used for simple individual randomised trials, cluster randomised trials and multisite trials. The methods can also be used more widely beyond education trials. This package can be used to evaluate other interventions designs using Frequentist and Bayesian multilevel models.
Author: Germaine Uwimpuhwe, Akansha Singh, Steve Higgins, ZhiMin Xiao, Ewoud De Troyer and Adetayo Kasim
Maintainer: Germaine Uwimpuhwe <germaine.uwimpuhwe@durham.ac.uk>
Imports: lme4, mvtnorm, metafor, graphics, stats, rstanarm
License: GPL-3
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.1.1
Suggests:
knitr,
rmarkdown,
testthat
VignetteBuilder: knitr
URL: https://github.com/germaine86/eefAnalytics
BugReports: https://github.com/germaine86/eefAnalytics/issues
crtBayes
: Bayesian analysis of cluster randomised education trials using Vague Priors.crtBayes
performs analysis of cluster randomised education trials using a multilevel model under a Bayesian setting, assuming vague priors.
crtBayes(
formula,
random,
intervention,
adaptD = NULL,
nsim = 2000,
data,
threshold = 1:10/10,
...
)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y ~ x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
random |
a string variable specifying the “clustering variable” as contained in the data. See example below. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
adaptD |
As this function uses rstanarm, this term provides the target average proposal acceptance probability during Stan’s adaptation period. Default is NULL. |
nsim |
number of MCMC iterations per chain. Default is 2000. |
data |
data frame containing the data to be analysed. |
threshold |
a scalar or vector of pre-specified threshold(s) for estimating Bayesian posterior probability such that the observed effect size is greater than or equal to the threshold(s). |
... |
additional arguments of stan_lmer to be passed to the function. |
S3 object; a list consisting of
Beta
: Estimates and credible intervals for variables specified in the model.
ES
: Conditional Hedges’ g effect size and its 95% credible intervals.
covParm
: A vector of variance decomposition into between cluster variance (Schools) and within cluster variance (Pupils). It also contains intra-cluster correlation (ICC).
SchEffects
: A vector of the estimated deviation of each school from the intercept.
ProbES
: A matrix of Bayesian Posterior Probabilities such that the observed effect size is greater than or equal to a pre-specified threshold(s).
Unconditional
: A list of unconditional effect sizes, covParm and ProbES obtained based on between and within cluster variances from the unconditional model (model with only the intercept as a fixed effect).
if(interactive()){
data(crtData)
########################################################
## Bayesian analysis of cluster randomised trials ##
########################################################
output <- crtBayes(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nsim=2000,data=crtData)
### Fixed effects
beta <- output$Beta
beta
### Effect size
ES1 <- output$ES
ES1
## Covariance matrix
covParm <- output$covParm
covParm
### plot random effects for schools
plot(output)
### plot posterior probability of an effect size to be bigger than a pre-specified threshold
plot(output,group=1)
}
crtData
: Cluster Randomised Trial Data.A cluster randomised trial dataset containing 22 schools. The data contains a random sample of test data of pupils and not actual trial data.
A data frame with 265 rows and 5 variables
Posttest: posttest scores
Prettest: prettest scores
Intervention: the indicator for intervention groups in a two arm trial, coded as 1 for intervention group and 0 for control group. The intervention variable should always be numeric with the control group as the first value.
Intervention2: a simulated indicator for intervention groups in a three arm trial. The intervention variable should always be numeric with the control group as the first value.
School: numeric school identifier
crtFREQ
: Analysis of Cluster Randomised Education Trials using Multilevel Model under a Frequentist Setting.crtFREQ
performs analysis of cluster randomised education trials using a multilevel model under a frequentist setting.
crtFREQ(formula, random, intervention, nPerm = NULL, nBoot = NULL, data)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y ~ x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
random |
a string variable specifying the “clustering variable” as contained in the data. See example below. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
nPerm |
number of permutations required to generate a permutated p-value. Default is NULL. |
nBoot |
number of bootstraps required to generate bootstrap confidence intervals. Default is NULL. |
data |
data frame containing the data to be analysed. |
S3 object; a list consisting of
Beta
: Estimates and confidence intervals for variables specified in the model.
ES
: Conditional Hedges’ g effect size and its 95% confidence intervals. If nBoot is not specified, 95% confidence intervals are based on standard errors. If nBoot is specified, they are non-parametric bootstrapped confidence intervals.
covParm
: A vector of variance decomposition into between cluster variance (Schools) and within cluster variance (Pupils). It also contains intra-cluster correlation (ICC).
SchEffects
: A vector of the estimated deviation of each school from the intercept.
Perm
: A “nPerm x 2w” matrix containing permutated effect sizes using residual variance and total variance. “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is produced only when nPerm
is specified.
Bootstrap
: A “nBoot x 2w” matrix containing the bootstrapped effect sizes using residual variance (Within) and total variance (Total). “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is only produced when nBoot
is specified.
Unconditional
: A list of unconditional effect sizes, covParm, Perm and Bootstrap obtained based on variances from the unconditional model (model with only the intercept as a fixed effect).
if(interactive()){
data(crtData)
########################################################
## MLM analysis of cluster randomised trials + 1.96SE ##
########################################################
output1 <- crtFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",data=crtData)
### Fixed effects
beta <- output1$Beta
beta
### Effect size
ES1 <- output1$ES
ES1
## Covariance matrix
covParm <- output1$covParm
covParm
### plot random effects for schools
plot(output1)
###############################################
## MLM analysis of cluster randomised trials ##
## with bootstrap confidence intervals ##
###############################################
output2 <- crtFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nBoot=1000,data=crtData)
### Effect size
ES2 <- output2$ES
ES2
### plot bootstrapped values
plot(output2, group=1)
#######################################################################
## MLM analysis of cluster randomised trials with permutation p-value##
#######################################################################
output3 <- crtFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nPerm=1000,data=crtData)
### Effect size
ES3 <- output3$ES
ES3
### plot permutated values
plot(output3, group=1)
}
mstBayes
: Bayesian analysis of Multisite Randomised Education Trials using Vague Priors.mstBayes
performs analysis of multisite randomised education trials using a multilevel model under a Bayesian setting assuming vague priors.
mstBayes(
formula,
random,
intervention,
adaptD = NULL,
nsim = 2000,
data,
threshold = 1:10/10,
...
)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y ~ x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
random |
a string variable specifying the “clustering variable” as contained in the data. See example below. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
adaptD |
As this function uses rstanarm, this term provides the target average proposal acceptance probability during Stan’s adaptation period. Default is NULL. |
nsim |
number of MCMC iterations per chain. Default is 2000. |
data |
data frame containing the data to be analysed. |
threshold |
a scalar or vector of pre-specified threshold(s) for estimating Bayesian posterior probability that the observed effect size is greater than or equal to the threshold(s). |
... |
additional arguments of stan_lmer to be passed to the function. |
S3 object; a list consisting of
Beta
: Estimates and credible intervals for variables specified in the model.
ES
: Conditional Hedges’ g effect size and its 95% credible intervals.
covParm
: A list of variance decomposition into between cluster variance-covariance matrix (schools and school by intervention) and within cluster variance (Pupils). It also contains intra-cluster correlation (ICC).
SchEffects
: A vector of the estimated deviation of each school from the intercept and intervention slope.
ProbES
: A matrix of Bayesian posterior probabilities such that the observed effect size is greater than or equal to a pre-specified threshold(s).
Unconditional
: A list of unconditional effect sizes, covParm and ProbES obtained based on between and within cluster variances from the unconditional model (model with only the intercept as a fixed effect).
if(interactive()){
data(mstData)
########################################################
## Bayesian analysis of cluster randomised trials ##
########################################################
output <- mstBayes(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nsim=2000,data=mstData)
### Fixed effects
beta <- output$Beta
beta
### Effect size
ES1 <- output$ES
ES1
## Covariance matrix
covParm <- output$covParm
covParm
### plot random effects for schools
plot(output)
### plot posterior probability of an effect size to be bigger than a pre-specified threshold
plot(output,group=1)
}
mstData
: Multisite Trial Data.A multisite trial dataset containing 54 schools. This data contains a random sample of test data of pupils and not actual trial data.
A data frame with 210 rows and 5 variables
Posttest: posttest scores
Prettest: prettest scores
Intervention: the indicator for the intervention groups in a two arm trial, coded as 1 for intervention group and 0 for control group. The intervention variable should always be numeric with the control group as the first value.
Intervention2: a simulated indicator for intervention groups in a three arm trial. The intervention variable should always be numeric with the control group as the first value.
School: numeric school identifier
mstFREQ
: Analysis of Multisite Randomised Education Trials using Multilevel Model under a Frequentist Setting.mstFREQ
performs analysis of multisite randomised education trials using a multilevel model under a frequentist setting.
mstFREQ(formula, random, intervention, nPerm = NULL, data, nBoot = NULL)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y ~ x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
random |
a string variable specifying the “clustering variable” as contained in the data. See example below. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
nPerm |
number of permutations required to generate permutated p-value. Default is NULL. |
data |
data frame containing the data to be analysed. |
nBoot |
number of bootstraps required to generate bootstrap confidence intervals. Default is NULL. |
S3 object; a list consisting of
Beta
: Estimates and confidence intervals for variables specified in the model.
ES
: Conditional Hedge’s g effect size (ES) and its 95% confidence intervals. If nBoot is not specified, 95% confidence intervals are based on standard errors. If nBoot is specified, they are non-parametric bootstrapped confidence intervals.
covParm
: A list of variance decomposition into between cluster variance-covariance matrix (schools and school by intervention) and within cluster variance (Pupils). It also contains intra-cluster correlation (ICC).
SchEffects
: A vector of the estimated deviation of each school from the intercept and intervention slope.
Perm
: A “nPerm x 2w” matrix containing permutated effect sizes using residual variance and total variance. “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is produced only when nPerm
is specified.
Bootstrap
: A “nBoot x 2w” matrix containing the bootstrapped effect sizes using residual variance (Within) and total variance (Total). “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is only prduced when nBoot
is specified.
Unconditional
: A list of unconditional effect sizes, covParm, Perm and Bootstrap obtained based on variances from the unconditional model (model with only the intercept as a fixed effect).
if(interactive()){
data(mstData)
########################################################
## MLM analysis of multisite trials + 1.96SE ##
########################################################
output1 <- mstFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",data=mstData)
### Fixed effects
beta <- output1$Beta
beta
### Effect size
ES1 <- output1$ES
ES1
## Covariance matrix
covParm <- output1$covParm
covParm
### plot random effects for schools
plot(output1)
###############################################
## MLM analysis of multisite trials ##
## with bootstrap confidence intervals ##
###############################################
output2 <- mstFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nBoot=1000,data=mstData)
tp <- output2$Bootstrap
### Effect size
ES2 <- output2$ES
ES2
### plot bootstrapped values
plot(output2, group=1)
#######################################################################
## MLM analysis of mutltisite trials with permutation p-value##
#######################################################################
output3 <- mstFREQ(Posttest~ Intervention+Prettest,random="School",
intervention="Intervention",nPerm=1000,data=mstData)
ES3 <- output3$ES
ES3
#### plot permutated values
plot(output3, group=1)
}
srtBayes
: Analysis of Simple Randomised Education Trials using Bayesian Linear Regression Model with Vague Priors.srtBayes
performs analysis of educational trials under the assumption of independent errors among pupils using Bayesian framework with Stan. This can also be used with schools as fixed effects.
srtBayes(
formula,
intervention,
adaptD = NULL,
nsim = 2000,
data,
threshold = 1:10/10,
...
)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y~x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
adaptD |
As this function uses rstanarm, this term provides the target average proposal acceptance probability during Stan’s adaptation period. Default is NULL. |
nsim |
number of MCMC iterations per chain. Default is 2000. |
data |
data frame containing the data to be analysed. |
threshold |
a scalar or vector of pre-specified threshold(s) for estimating Bayesian posterior probability such that the observed effect size is greater than or equal to the threshold(s). |
... |
additional arguments of stan_glm to be passed to the function. |
S3 object; a list consisting of
Beta
: Estimates and credible intervals for the variables specified in the model.
ES
: Conditional Hedges’ g effect size and its 95% credible intervals.
sigma2
: Residual variance.
ProbES
: A matrix of Bayesian posterior probabilities such that the observed effect size is greater than or equal to a pre-specified threshold(s).
Unconditional
: A list of unconditional effect sizes, sigma2 and ProbES obtained based on residual variance from the unconditional model (model with only the intercept as a fixed effect).
if(interactive()){
data(mstData)
########################################################
## Bayesian analysis of cluster randomised trials ##
########################################################
output <- srtBayes(Posttest~ Intervention+Prettest,
intervention="Intervention",nsim=2000,data=mstData)
### Fixed effects
beta <- output$Beta
beta
### Effect size
ES1 <- output$ES
ES1
## Covariance matrix
covParm <- output$covParm
covParm
### plot random effects for schools
plot(output)
### plot posterior probability of an effect size to be bigger than a pre-specified threshold
plot(output,group=1)
}
srtFREQ
: Analysis of Simple Randomised Education Trial using Linear Regression Model.srtFREQ
performs analysis of educational trials under the assumption of independent errors among pupils. This can also be used with schools as fixed effects.
srtFREQ(formula, intervention, nBoot = NULL, nPerm = NULL, data)
Argument | Description |
---|---|
formula |
the model to be analysed is of the form y~x1+x2+…. Where y is the outcome variable and Xs are the independent variables. |
intervention |
a string variable specifying the “intervention variable” as appearing in the formula and the data. See example below. |
nBoot |
number of bootstraps required to generate bootstrap confidence intervals. Default is NULL. |
nPerm |
number of permutations required to generate permutated p-value. Default is NULL. |
data |
data frame containing the data to be analysed. |
S3 object; a list consisting of
Beta
: Estimates and confidence intervals for the variables specified in the model.
ES
: Conditional Hedges’g effect size and its 95% confidence intervals. If nBoot is not specified, 95% confidence intervals are based on standard errors. If nBoot is specified, they are non-parametric bootstrapped confidence intervals.
sigma2
: Residual variance.
Perm
: A “nPerm x w” matrix containing permutated effect sizes using residual variance. “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is produced only if nPerm
is specified.
Bootstrap
: A “nBoot x w” matrix containing the bootstrapped effect sizes using residual variance. “w” denotes number of intervention. “w=1” for two arm trial and “w=2” for three arm trial excluding the control group. It is produced only if nBoot
is specified.
Unconditional
: A list of unconditional effect size, sigma2, Perm and Bootstrap obtained based on variances from the unconditional model (model with only intercept as fixed effect).
if(interactive()){
data(mstData)
###################################################################
## Analysis of simple randomised trials using Hedges Effect Size ##
###################################################################
output1 <- srtFREQ(Posttest~ Intervention+Prettest,
intervention="Intervention",data=mstData )
ES1 <- output1$ES
ES1
###################################################################
## Analysis of simple randomised trials using Hedges Effect Size ##
## with Permutation p-value ##
###################################################################
output2 <- srtFREQ(Posttest~ Intervention+Prettest,
intervention="Intervention",nPerm=1000,data=mstData )
ES2 <- output2$ES
ES2
#### plot permutated values
plot(output2, group=1)
###################################################################
## Analysis of simple randomised trials using Hedges Effect Size ##
## with non-parametric bootstrap confidence intervals ##
###################################################################
output3 <- srtFREQ(Posttest~ Intervention+Prettest,
intervention="Intervention",nBoot=1000,data=mstData)
ES3 <- output3$ES
ES3
### plot bootstrapped values
plot(output3, group=1)
####################################################################
## Analysis of simple randomised trials using Hedges' effect size ##
## with schools as fixed effects ##
####################################################################
output4 <- srtFREQ(Posttest~ Intervention+Prettest+as.factor(School),
intervention="Intervention",data=mstData )
ES4 <- output4$ES
ES4
####################################################################
## Analysis of simple randomised trials using Hedges' effect size ##
## with schools as fixed effects and with permutation p-value ##
####################################################################
output5 <- srtFREQ(Posttest~ Intervention+Prettest+as.factor(School),
intervention="Intervention",nPerm=1000,data=mstData )
ES5 <- output5$ES
ES5
#### plot permutated values
plot(output5, group=1)
####################################################################
## Analysis of simple randomised trials using Hedges' effect size ##
## with schools as fixed effects and with permutation p-value ##
####################################################################
output6 <- srtFREQ(Posttest~ Intervention+Prettest+as.factor(School),
intervention="Intervention",nBoot=1000,data=mstData)
ES6 <- output6$ES
ES6
### plot bootstrapped values
plot(output6, group=1)
}
ComparePlot
: A plot function to compare different eefAnalytics S3 objects from the eefAnalytics package.It generates bar plot that compares the effect size from eefAnalytics’ methods.
ComparePlot(
eefAnalyticsList,
group = NULL,
Conditional = TRUE,
ES_Total = TRUE,
modelNames = NULL
)
Argument | Description |
---|---|
eefAnalyticsList |
A list of eefAnalytics S3 objects from eefAnalytics package. |
group |
a scalar value indicating which intervention to plot. This must not be greater than the number of intervention groups excluding the control group. For a two arm trial, the maximum value is 1 and a maximum value of 2 for three arm trial. |
Conditional |
a logical value to indicate whether to plot conditional effect size. The default is Conditional=TRUE, otherwise Conditional=FALSE should be specified for plot based on unconditional effect size. Conditional variance is total or residual variance a multilevel model with fixed effects, whilst unconditional variance is total variance or residual variance from a multilevel model with only intercept as fixed effect. |
ES_Total |
A logical value indicating whether to plot the effect size based on total variance or within school variance. The default is ES_Total=TRUE, to plot effect size using total variance. ES_Total=FALSE should be specified for effect size based on within school or residuals variance. |
modelNames |
a string factor containing the names of model to compare. See examples below. |
ComparePlot
produces a bar plot which compares the effect sizes and the associated confidence intervals from the different models. For a multilevel model, it shows the effect size based on residual variance and total variance.
Returns a bar plot to compare the different methods.
if(interactive()){
data(mstData)
###############
##### SRT #####
###############
outputSRT <- srtFREQ(Posttest~ Intervention + Prettest,
intervention = "Intervention", data = mstData)
outputSRTBoot <- srtFREQ(Posttest~ Intervention + Prettest,
intervention = "Intervention",nBoot=1000, data = mstData)
###############
##### MST #####
###############
outputMST <- mstFREQ(Posttest~ Intervention + Prettest,
random = "School", intervention = "Intervention", data = mstData)
outputMSTBoot <- mstFREQ(Posttest~ Intervention + Prettest,
random = "School", intervention = "Intervention",
nBoot = 1000, data = mstData)
##################
##### Bayesian #####
##################
outputSRTbayes <- srtBayes(Posttest~ Intervention + Prettest,
intervention = "Intervention",
nSim = 2000, data = mstData)
## comparing different results
ComparePlot(list(outputSRT,outputSRTBoot,outputMST,outputMSTBoot,outputSRTbayes),
modelNames =c("ols", "olsBoot","MLM","MLMBoot","OLSBayes"),group=1)
}
# plot.eefAnalytics
: A plot method for an eefAnalytics S3 object obtained from the eefAnalytics package.
Plots different figures based on output from eefAnalytics package.
plot(x, group = NULL, Conditional = TRUE, ES_Total = TRUE, slop = FALSE, ...)
Argument | Description |
---|---|
x |
an output object from the eefAnalytics package. |
group |
a scalar value indicating which intervention to plot. This must not be greater than the number of intervention groups excluding the control group. For a two arm trial, the maximum value is 1 and a maximum value of 2 for three arm trial. |
Conditional |
a logical value to indicate whether to plot the conditional effect size. The default is Conditional=TRUE, otherwise Conditional=FALSE should be specified for plot based on the unconditional effect size. Conditional variance is total or residual variance from a multilevel model with fixed effects, whilst unconditional variance is total variance or residual variance from a multilevel model with only intercept as fixed effect. |
ES_Total |
A logical value indicating whether to plot the effect size based on total variance or within school variance. The default is ES_Total=TRUE, to plot the effect size using total variance. ES_Total=FALSE should be specified for the effect size based on within school or residuals variance. |
slop |
A logical value indicating whether to return the plot of random intercept (default is slop=FALSE). return other school-by-intervention interaction random slope (s) is slop=TRUE. This argument is suitable only for mstBayes and mstFREQ functions. |
... |
arguments passed to plot.default |
Plot produces a graphical visualisation depending on which model is fitted:
For srtFREQ()
, plot can only be used when nBoot
or nPerm
is specified to visualise the distribution of bootstrapped or permutated values.
For crtFREQ()
or mstFREQ()
, plot shows the distribution of random intercepts when group=NULL
. It produces histogram of permutated or bootstrapped values when group
is specified and either nBoot
or nPerm
is also specified.
Returns relevant plots for each model.
if(interactive()){
#### read data
data(mstData)
data(crtData)
###############
##### SRT #####
###############
##### Bootstrapped
outputSRTBoot <- srtFREQ(Posttest~ Intervention + Prettest,
intervention = "Intervention",nBoot=1000, data = mstData)
plot(outputSRTBoot,group=1)
##### Permutation
outputSRTPerm <- srtFREQ(Posttest~ Intervention + Prettest,
intervention = "Intervention",nPerm=1000, data = mstData)
plot(outputSRTPerm,group=1)
###############
##### MST #####
###############
#### Random intercepts
outputMST <- mstFREQ(Posttest~ Intervention + Prettest,
random = "School", intervention = "Intervention", data = mstData)
plot(outputMST)
#### Bootstrapped
outputMSTBoot <- mstFREQ(Posttest~ Intervention + Prettest,
random = "School", intervention = "Intervention",
nBoot = 1000, data = mstData)
plot(outputMSTBoot)
plot(outputMSTBoot,group=1)
#### Permutation
outputMSTPerm <- mstFREQ(Posttest~ Intervention + Prettest,
random = "School", intervention = "Intervention",
nPerm = 1000, data = mstData)
plot(outputMSTPerm)
plot(outputMSTPerm,group=1)
###############
##### CRT #####
###############
#### Random intercepts
outputCRT <- crtFREQ(Posttest~ Intervention + Prettest, random = "School",
intervention = "Intervention", data = crtData)
plot(outputCRT)
## Bootstrapped
outputCRTBoot <- crtFREQ(Posttest~ Intervention + Prettest, random = "School",
intervention = "Intervention", nBoot = 1000, data = crtData)
plot(outputCRTBoot,group=1)
##Permutation
outputCRTPerm <- crtFREQ(Posttest~ Intervention + Prettest, random = "School",
intervention = "Intervention", nPerm = 1000, data = crtData)
plot(outputCRTPerm,group=1)
}