dat.bachmann2010.RdResults from studies examining inpatient rehabilitation for geriatric patients with respect to various outcomes.
dat.bachmann2010The data frame contains the following columns:
| author | character | first author of study |
| year | numeric | publication year |
| country | numeric | country where study was conducted |
| rehabtype | character | type of rehabilitation (general / orthopaedic) |
| lohs1 | numeric | mean/median length of hospital stay before randomization (days) |
| lohs2 | numeric | mean/median length of hospital stay after randomization (days) |
| mage | numeric | mean age of participants |
| nti | numeric | number of participants in the intervention group |
| nci | numeric | number of participants in the control group |
| multidim | character | multidimensional geriatric assessment (yes / no) |
| assign | character | assignment to therapy (yes / no) |
| meetings | character | intervention team meetings for goal setting |
| fup | character | follow-up after discharge (yes / no) |
| conc | character | concealment of allocation (yes / no) |
| blind | character | blinding of outcome assessor (yes / no) |
| itt | character | intention to treat analysis (yes / no) |
| outcome | character | outcome variable (function, admission, mortality) |
| time | character | time of assessment (at discharge, at follow-up) |
| or | numeric | odds ratio for functional improvement |
| lb | numeric | lower 95% CI bound for the odds ratio |
| ub | numeric | upper 95% CI bound for the odds ratio |
| ai | numeric | number of cases in the intervention group |
| n1i | numeric | total number of patients in the intervention group |
| ci | numeric | number of cases in the control group |
| n2i | numeric | total number of patients in the control group |
The meta-analysis by Bachmann et al. (2010) assessed the effects of inpatient rehabilitation specifically designed for geriatric patients compared with usual care on functional status, admissions to nursing homes, and mortality. For outcome functional status (outcome=="function"), odds ratios with corresponding confidence interval bounds are provided via variables or, lb, and ub. For outcomes admissions to nursing homes and mortality, the number of cases and the group sizes for the intervention and control groups are given via variables ai, n1i, ci, and n2i.
Riley et al. (2011) used these data in their discussion of prediction intervals in the context of the random-effects model for meta-analysis.
Bachmann, S., Finger, C., Huss, A., Egger, M., Stuck, A. E., & Clough-Gorr, K. M. (2010). Inpatient rehabilitation specifically designed for geriatric patients: Systematic review and meta-analysis of randomised controlled trials. British Medical Journal, 340, c1718. https://doi.org/10.1136/bmj.c1718
Riley, R. D., Higgins, J. P. T., & Deeks, J. J. (2011). Interpretation of random effects meta-analyses. British Medical Journal, 342, d549. https://doi.org/10.1136/bmj.d549
medicine, odds ratios, risk ratios
### copy data to 'dat' and examine the data
dat <- dat.bachmann2010
head(dat)
#> author year country rehabtype lohs1 lohs2 mage nti nci multidim assign meetings fup conc blind
#> 1 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> 2 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> 3 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> 4 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> 5 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> 6 Applegate 1990 USA general 21 23.6 78.8 78 77 yes yes weekly no yes yes
#> itt outcome time or lb ub ai n1i ci n2i
#> 1 yes function discharge NA NA NA NA NA NA NA
#> 2 yes function followup 1.11 0.51 2.39 NA NA NA NA
#> 3 yes admission discharge NA NA NA 6 78 17 77
#> 4 yes admission followup NA NA NA 7 78 15 77
#> 5 yes mortality discharge NA NA NA NA NA NA NA
#> 6 yes mortality followup NA NA NA 16 78 19 77
### load metafor package
library(metafor)
### compute log odds ratios and corresponding sampling variances from the
### reported odds ratios and confidence interval bounds
dat <- conv.wald(or, ci.ub=ub, transf=log, data=dat)
### meta-analyze the effects on functional status at discharge
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="function"&time=="discharge")
#> Warning: 9 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 8; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0.0582 (SE = 0.0883)
#> tau (square root of estimated tau^2 value): 0.2413
#> I^2 (total heterogeneity / total variability): 38.25%
#> H^2 (total variability / sampling variability): 1.62
#>
#> Test for Heterogeneity:
#> Q(df = 7) = 11.3353, p-val = 0.1246
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> 0.5601 0.1484 3.7740 0.0002 0.2692 0.8510 ***
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 1.75 1.31 2.34 1.00 3.05
#>
### meta-analyze the effects on functional status at follow-up
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="function"&time=="followup")
#> Warning: 5 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 12; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0.0754 (SE = 0.0696)
#> tau (square root of estimated tau^2 value): 0.2746
#> I^2 (total heterogeneity / total variability): 51.18%
#> H^2 (total variability / sampling variability): 2.05
#>
#> Test for Heterogeneity:
#> Q(df = 11) = 22.5321, p-val = 0.0206
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> 0.3043 0.1183 2.5722 0.0101 0.0724 0.5361 *
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 1.36 1.08 1.71 0.75 2.44
#>
### compute log risk ratios and corresponding sampling variances from the
### reported 2x2 table counts
dat <- escalc(measure="RR", ai=ai, n1i=n1i,
ci=ci, n2i=n2i,
data=dat, drop00=TRUE)
### meta-analyze the effects on admission to nursing homes at discharge
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="admission"&time=="discharge")
#> Warning: 7 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 10; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0.0189 (SE = 0.0643)
#> tau (square root of estimated tau^2 value): 0.1375
#> I^2 (total heterogeneity / total variability): 13.98%
#> H^2 (total variability / sampling variability): 1.16
#>
#> Test for Heterogeneity:
#> Q(df = 9) = 10.4624, p-val = 0.3144
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.4432 0.1173 -3.7789 0.0002 -0.6731 -0.2133 ***
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 0.64 0.51 0.81 0.45 0.91
#>
### meta-analyze the effects on admission to nursing homes at follow-up
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="admission"&time=="followup")
#> Warning: 4 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 13; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0.0177 (SE = 0.0331)
#> tau (square root of estimated tau^2 value): 0.1329
#> I^2 (total heterogeneity / total variability): 22.60%
#> H^2 (total variability / sampling variability): 1.29
#>
#> Test for Heterogeneity:
#> Q(df = 12) = 15.5046, p-val = 0.2150
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.1702 0.0830 -2.0505 0.0403 -0.3330 -0.0075 *
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 0.84 0.72 0.99 0.62 1.15
#>
### meta-analyze the effects on mortality at discharge
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="mortality"&time=="discharge")
#> Warning: 6 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 11; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0 (SE = 0.1110)
#> 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 = 10) = 8.5693, p-val = 0.5734
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.3289 0.1392 -2.3633 0.0181 -0.6016 -0.0561 *
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 0.72 0.55 0.95 0.55 0.95
#>
### meta-analyze the effects on mortality at follow-up
res <- rma(yi, vi, data=dat, method="DL",
slab=paste0(author, ", ", year),
subset=outcome=="mortality"&time=="followup")
#> Warning: 2 studies with NAs omitted from model fitting.
res
#>
#> Random-Effects Model (k = 15; tau^2 estimator: DL)
#>
#> tau^2 (estimated amount of total heterogeneity): 0 (SE = 0.0211)
#> 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 = 14) = 12.0696, p-val = 0.6007
#>
#> Model Results:
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.1442 0.0580 -2.4852 0.0129 -0.2579 -0.0305 *
#>
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
predict(res, transf=exp, digits=2)
#>
#> pred ci.lb ci.ub pi.lb pi.ub
#> 0.87 0.77 0.97 0.77 0.97
#>