analyses:vanhouwelingen2002
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
analyses:vanhouwelingen2002 [2021/10/22 14:46] – Wolfgang Viechtbauer | analyses:vanhouwelingen2002 [2022/08/03 17:52] (current) – Wolfgang Viechtbauer | ||
---|---|---|---|
Line 39: | Line 39: | ||
</ | </ | ||
- | ==== Fixed-Effects Model ==== | + | ==== Equal-Effects Model ==== |
- | The first model considered is the fixed-effects model based on the log odds ratios. The same model can be fitted with: | + | The first model considered is the equal-effects model based on the log odds ratios. The same model can be fitted with: |
<code rsplus> | <code rsplus> | ||
- | res <- rma(yi, vi, data=dat, method=" | + | res <- rma(yi, vi, data=dat, method=" |
res | res | ||
</ | </ | ||
<code output> | <code output> | ||
- | Fixed-Effects Model (k = 13) | + | Equal-Effects Model (k = 13) |
+ | |||
+ | I^2 (total heterogeneity / total variability): | ||
+ | H^2 (total variability / sampling variability): | ||
Test for Heterogeneity: | Test for Heterogeneity: | ||
Line 54: | Line 57: | ||
Model Results: | Model Results: | ||
- | estimate | + | estimate |
- | | + | |
--- | --- | ||
- | Signif. codes: | + | Signif. codes: |
</ | </ | ||
For easier interpretation, | For easier interpretation, | ||
Line 120: | Line 123: | ||
</ | </ | ||
<code output> | <code output> | ||
- | | + | |
- | tau^2 0.3025 | + | tau^2 0.3025 |
- | tau 0.5500 | + | tau 0.5500 |
- | I^2(%) | + | I^2(%) |
H^2 | H^2 | ||
</ | </ | ||
Line 167: | Line 170: | ||
<code rsplus> | <code rsplus> | ||
res <- rma(measure=" | res <- rma(measure=" | ||
- | labbe(res, xlim=c(-7, | + | labbe(res, xlim=c(-7, |
+ | | ||
</ | </ | ||
The dashed line indicates the estimated effect based on the model. | The dashed line indicates the estimated effect based on the model. | ||
Line 216: | Line 220: | ||
Since there is no overlap in the data used to calculate these arm-specific outcomes, the observed outcomes are (conditionally) independent. However, the corresponding true outcomes are likely to be correlated. The bivariate model allows us to estimate the variance and correlation of the true outcomes in the two arms: | Since there is no overlap in the data used to calculate these arm-specific outcomes, the observed outcomes are (conditionally) independent. However, the corresponding true outcomes are likely to be correlated. The bivariate model allows us to estimate the variance and correlation of the true outcomes in the two arms: | ||
<code rsplus> | <code rsplus> | ||
- | res <- rma.mv(yi, vi, mods = ~ group - 1, random = ~ group | trial, struct=" | + | res <- rma.mv(yi, vi, mods = ~ group - 1, |
+ | | ||
+ | | ||
res | res | ||
</ | </ | ||
Line 254: | Line 260: | ||
We can directly obtain the estimated (mean) log odds ratio from this model by not removing the intercept: | We can directly obtain the estimated (mean) log odds ratio from this model by not removing the intercept: | ||
<code rsplus> | <code rsplus> | ||
- | res <- rma.mv(yi, vi, mods = ~ group, random = ~ group | trial, struct=" | + | res <- rma.mv(yi, vi, mods = ~ group, |
+ | | ||
+ | | ||
</ | </ | ||
The last part of the output is then: | The last part of the output is then: | ||
Line 278: | Line 286: | ||
<code rsplus> | <code rsplus> | ||
- | res <- rma.mv(yi, vi, mods = ~ group - 1, random = ~ group | trial, struct=" | + | res <- rma.mv(yi, vi, mods = ~ group - 1, |
- | reg <- matreg(y=2, x=1, R=res$G, cov=TRUE, means=coef(res), | + | |
+ | | ||
+ | reg <- matreg(y=2, x=1, R=res$G, cov=TRUE, means=coef(res), | ||
reg | reg | ||
</ | </ | ||
<code output> | <code output> | ||
- | | + | |
- | intrcpt | + | intrcpt |
- | CON 0.7300 | + | CON 0.7300 |
--- | --- | ||
Line 293: | Line 303: | ||
Then Figure 5 in the paper (p. 605) can be recreated with: | Then Figure 5 in the paper (p. 605) can be recreated with: | ||
<code rsplus> | <code rsplus> | ||
- | tmp <- rma(measure=" | + | tmp <- rma(measure=" |
- | labbe(tmp, xlim=c(-8, | + | labbe(tmp, xlim=c(-8, |
+ | | ||
+ | | ||
points(coef(res)[1], | points(coef(res)[1], | ||
abline(a=reg$tab$beta[1], | abline(a=reg$tab$beta[1], | ||
Line 315: | Line 327: | ||
abline(h=x[2]) | abline(h=x[2]) | ||
</ | </ | ||
+ | |||
+ | While the coefficient (i.e., 0.7300) of the relationship between the underlying true log odds in the vaccinated and unvaccinated groups obtained above is correct, the computation of the corresponding standard error is not quite right, as it assumes that the variance-covariance matrix used as input to '' | ||
+ | |||
+ | <code rsplus> | ||
+ | res <- rma.mv(yi, vi, mods = ~ group - 1, | ||
+ | random = ~ group | trial, struct=" | ||
+ | data=dat.long, | ||
+ | </ | ||
+ | |||
+ | Now '' | ||
+ | |||
+ | <code rsplus> | ||
+ | res$vvc | ||
+ | </ | ||
+ | <code output> | ||
+ | tau^2.1 | ||
+ | tau^2.1 0.9359073 0.6711028 0.4822374 | ||
+ | cov | ||
+ | tau^2.2 0.4822374 0.4066553 0.3399395 | ||
+ | </ | ||
+ | |||
+ | We can then use this matrix as part of the input to '' | ||
+ | |||
+ | <code rsplus> | ||
+ | matreg(y=2, x=1, R=res$G, cov=TRUE, means=coef(res), | ||
+ | </ | ||
+ | |||
+ | <code output> | ||
+ | | ||
+ | intrcpt | ||
+ | CON 0.7300 | ||
+ | </ | ||
+ | |||
+ | Now the standard error of the coefficient of interest is computed in such a way that it correctly takes the imprecision of the estimates in '' | ||
==== Meta-Regression ==== | ==== Meta-Regression ==== | ||
Line 358: | Line 404: | ||
The bivariate meta-regression model can be fitted with: | The bivariate meta-regression model can be fitted with: | ||
<code rsplus> | <code rsplus> | ||
- | res <- rma.mv(yi, vi, mods = ~ group + group: | + | res <- rma.mv(yi, vi, mods = ~ group + group: |
+ | | ||
+ | | ||
res | res | ||
</ | </ | ||
Line 398: | Line 446: | ||
The difference in slopes can be directly obtained with: | The difference in slopes can be directly obtained with: | ||
<code rsplus> | <code rsplus> | ||
- | res <- rma.mv(yi, vi, mods = ~ group*I(ablat-33), | + | res <- rma.mv(yi, vi, mods = ~ group*I(ablat-33), |
+ | | ||
+ | | ||
</ | </ | ||
The results are the same as before, except for the last part, which is now equal to: | The results are the same as before, except for the last part, which is now equal to: |
analyses/vanhouwelingen2002.1634913993.txt.gz · Last modified: 2021/10/22 14:46 by Wolfgang Viechtbauer