File: dat.knapp2017.Rd

package info (click to toggle)
r-cran-metadat 1.2-0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,108 kB
  • sloc: sh: 13; makefile: 2
file content (132 lines) | stat: -rw-r--r-- 6,538 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
\name{dat.knapp2017}
\docType{data}
\alias{dat.knapp2017}
\title{Studies on Differences in Planning Performance in Schizophrenia Patients versus Healthy Controls}
\description{Results from 31 studies examining differences in planning performance in schizophrenia patients versus healthy controls.}
\usage{
dat.knapp2017
}
\format{The data frame contains the following columns:
\tabular{lll}{
\bold{author}     \tab \code{character} \tab study author(s) \cr
\bold{year}       \tab \code{numeric}   \tab publication year \cr
\bold{study}      \tab \code{numeric}   \tab study id number \cr
\bold{task}       \tab \code{character} \tab type of task \cr
\bold{difficulty} \tab \code{numeric}   \tab task difficulty \cr
\bold{group1}     \tab \code{character} \tab identifier for patient group within studies \cr
\bold{group2}     \tab \code{character} \tab identifier for control group within studies \cr
\bold{comp}       \tab \code{numeric}   \tab identifier for comparisons within studies \cr
\bold{yi}         \tab \code{numeric}   \tab standardized mean difference for planning performance \cr
\bold{vi}         \tab \code{numeric}   \tab corresponding sampling variance \cr
\bold{n_sz}       \tab \code{numeric}   \tab number of schizophrenic patients \cr
\bold{n_hc}       \tab \code{numeric}   \tab number of healthy controls \cr
\bold{yi}         \tab \code{numeric}   \tab standardized mean difference for IQ \cr
\bold{vi}         \tab \code{numeric}   \tab corresponding sampling variance
}
}
\details{
   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 (\url{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:
   \enumerate{
   \item 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.
   \item 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.
   \item Study 24 provides two standardized mean differences, one for men and the other for women.
   \item 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.
}
\source{
   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. \emph{Psychological Medicine}, \bold{47}(11), 2002--2016. \verb{https://doi.org/10.1017/S0033291717000459}
}
\author{
   Wolfgang Viechtbauer, \email{wvb@metafor-project.org}, \url{https://www.metafor-project.org}
}
\examples{
### copy data into 'dat' and examine data
dat <- dat.knapp2017
dat[-c(1:2)]

\dontrun{

### 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")

}
}
\keyword{datasets}
\concept{psychology}
\concept{standardized mean differences}
\concept{multilevel models}
\concept{multivariate models}
\concept{cluster-robust inference}
\concept{meta-regression}
\section{Concepts}{
   psychology, standardized mean differences, multilevel models, multivariate models, cluster-robust inference, meta-regression
}