dat.knapp2017 | R Documentation |
Results from 31 studies examining differences in planning performance in schizophrenia patients versus healthy controls.
dat.knapp2017
The data frame contains the following columns:
author | character | study author(s) |
year | numeric | publication year |
study | numeric | study id number |
task | character | type of task |
difficulty | numeric | task difficulty |
group1 | character | identifier for patient group within studies |
group2 | character | identifier for control group within studies |
comp | numeric | identifier for comparisons within studies |
yi | numeric | standardized mean difference for planning performance |
vi | numeric | corresponding sampling variance |
n_sz | numeric | number of schizophrenic patients |
n_hc | numeric | number of healthy controls |
yi | numeric | standardized mean difference for IQ |
vi | numeric | corresponding sampling variance |
The studies included in this dataset examined differences between schizophrenia patients and healthy controls with respect to their performance on the tower of London test (https://en.wikipedia.org/wiki/Tower_of_London_test) or a similar cognitive tasks measuring planning ability. The outcome measure for this meta-analysis was the standardized mean difference (with positive values indicating better performance in the healthy controls compared to the schizophrenia patients).
The dataset has a more complex structure for several reasons:
Studies 2, 3, 9, and 20 included more than one schizophrenia patient group and the standardized mean differences were computed by comparing these groups against a single healthy control group.
Studies 6, 12, 14, 15, 18, 19, 22, and 26 had the patients and controls complete different tasks of varying complexity (essentially the average number of moves required to complete a task). Study 6 also included two different task types.
Study 24 provides two standardized mean differences, one for men and the other for women.
Study 29 provides three standardized mean differences, corresponding to the three different COMT Val158Met genotypes (val/val, val/met, and met/met).
All 4 issues described above lead to a multilevel structure in the dataset, with multiple standardized mean differences nested within some of the studies. Issues 1. and 2. also lead to correlated sampling errors.
psychology, standardized mean differences, multilevel models, multivariate models, cluster-robust inference, meta-regression
Wolfgang Viechtbauer, wvb@metafor-project.org, https://www.metafor-project.org
Knapp, F., Viechtbauer, W., Leonhart, R., Nitschke, K., & Kaller, C. P. (2017). Planning performance in schizophrenia patients: A meta-analysis of the influence of task difficulty and clinical and sociodemographic variables. Psychological Medicine, 47(11), 2002–2016. https://doi.org/10.1017/S0033291717000459
### copy data into 'dat' and examine data dat <- dat.knapp2017 dat[-c(1:2)] ## Not run: ### load metafor package library(metafor) ### fit a standard random-effects model ignoring the issues described above res <- rma(yi, vi, data=dat) res ### fit a multilevel model with random effects for studies and comparisons within studies ### (but this ignored the correlation in the sampling errors) res <- rma.mv(yi, vi, random = ~ 1 | study/comp, data=dat) res ### create variable that indicates the task and difficulty combination as increasing integers dat$task.diff <- unlist(lapply(split(dat, dat$study), function(x) { task.int <- as.integer(factor(x$task)) diff.int <- as.integer(factor(x$difficulty)) diff.int[is.na(diff.int)] <- 1 paste0(task.int, ".", diff.int)})) ### construct correlation matrix for two tasks with four different difficulties where the ### correlation is 0.4 for different difficulties of the same task, 0.7 for the same ### difficulty of different tasks, and 0.28 for different difficulties of different tasks R <- matrix(0.4, nrow=8, ncol=8) R[5:8,1:4] <- R[1:4,5:8] <- 0.28 diag(R[1:4,5:8]) <- 0.7 diag(R[5:8,1:4]) <- 0.7 diag(R) <- 1 rownames(R) <- colnames(R) <- paste0(rep(1:2, each=4), ".", 1:4) R ### construct an approximate V matrix accounting for the use of shared groups and ### for correlations among tasks/difficulties as specified in the R matrix above V <- vcalc(vi, cluster=study, grp1=group1, grp2=group2, w1=n_sz, w2=n_hc, obs=task.diff, rho=R, data=dat) ### correlation matrix for study 3 with four patient groups and a single control group round(cov2cor(V[dat$study == 3, dat$study == 3]), 2) ### correlation matrix for study 6 with two tasks with four difficulties cov2cor(V[dat$study == 6, dat$study == 6]) ### correlation matrix for study 24 with two independent groups cov2cor(V[dat$study == 24, dat$study == 24]) ### correlation matrix for study 29 with three independent groups cov2cor(V[dat$study == 29, dat$study == 29]) ### fit multilevel model as above, but now use this V matrix in the model res <- rma.mv(yi, V, random = ~ 1 | study/comp, data=dat) res predict(res, digits=2) ### use cluster-robust inference methods based on this model robust(res, cluster=study) ### use methods from clubSandwich package robust(res, cluster=study, clubSandwich=TRUE) ### examine if task difficulty is a potential moderator of the effect res <- rma.mv(yi, V, mods = ~ difficulty, random = ~ 1 | study/comp, data=dat) res sav <- robust(res, cluster=study) sav sav <- robust(res, cluster=study, clubSandwich=TRUE) sav ### draw bubble plot regplot(sav, xlab="Task Difficulty", ylab="Standardized Mean Difference", las=1, digits=1, bty="l") ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.