This vignette lists the other datasets shipped with
interactmeta. The CAMS workflow (subgroup pairs,
information fractions, cams(),
forestplot()) is developed on
steroids (IV / NIV) in vignette("cams"). Here we only note
disease context, subgroup labels, and effect scale.
| Dataset | Setting | Subgroups | Effect on yi scale |
|---|---|---|---|
age |
MS immunotherapies; relapse | Younger, Older | Log incidence-rate ratio |
edss |
Same review; relapse | Lower, Higher EDSS | Log incidence-rate ratio |
il6 |
IL-6 antagonists, COVID-19 mortality | Corticosteroids yes / no | Log odds ratio from counts |
respire_age |
RESPIRE bronchiectasis; time to exacerbation |
<65, >=65
|
Log hazard ratio |
respire_sex |
Same trials | Female, Male | Log hazard ratio |
age and
edss follow Heesen et al. (2024);
il6 follows WHO Rapid Evidence Appraisal for COVID-19 Therapies
(REACT) Working Group et al. (2021);
respire_age and
respire_sex follow De Soyza et al. (2018) and Aksamit et al. (2018).
Multiple sclerosis: age
Published log rate ratios are already in
yi / vi.
CONFIRM arms are split as CONFIRM-B and
CONFIRM-C.
age |>
select(study, subgroup, treatment, yi, vi) |>
head()
#> # A tibble: 6 × 5
#> study subgroup treatment yi vi
#> <chr> <chr> <chr> <dbl> <dbl>
#> 1 DEFINE Younger BG-12 -0.983 0.0323
#> 2 DEFINE Older BG-12 -0.423 0.0378
#> 3 FREEDOMS Younger fingolimod -1.11 0.0191
#> 4 FREEDOMS Older fingolimod -0.274 0.0321
#> 5 CONFIRM-B Younger BG-12 -0.641 0.0300
#> 6 CONFIRM-B Older BG-12 -0.451 0.0624
age_es <- escalc(measure = "IRR", yi = yi, vi = vi, data = age)
fit_age <- cams(
age_es,
reference = "Younger",
method = "REML"
)
forestplot(fit_age, exponentiate = TRUE)
Multiple sclerosis: edss
Same review as age, EDSS strata instead
of age.
edss |>
select(study, subgroup, treatment, yi, vi) |>
head()
#> # A tibble: 6 × 5
#> study subgroup treatment yi vi
#> <chr> <fct> <chr> <dbl> <dbl>
#> 1 ADVANCE Lower IFNB1a -0.528 0.0206
#> 2 ADVANCE Higher IFNB1a -0.128 0.0973
#> 3 AFFIRM Lower natalizumab -1.17 0.0170
#> 4 AFFIRM Higher natalizumab -0.713 0.0554
#> 5 CONFIRM-B Lower BG-12 -0.555 0.0268
#> 6 CONFIRM-B Higher BG-12 -0.460 0.0847
edss_es <- escalc(measure = "IRR", yi = yi, vi = vi, data = edss)
fit_edss <- cams(edss_es, reference = "Lower", method = "REML")
forestplot(fit_edss, exponentiate = TRUE)
COVID-19 IL-6 antagonists: il6
Some trials report only one corticosteroid subgroup (as for
steroids in vignette("cams")). Drop
n = 0 rows before
escalc(); use
ifrac() /
cams() on the completed table.
il6_obs <- il6 |>
filter(n > 0)
table(il6_obs$study, il6_obs$subgroup)
#>
#> no yes
#> ARCHITECTS 0 1
#> BACC-Bay 1 0
#> CORIMUNO-TOCI-1 1 1
#> CORIMUNO-TOCI-ICU 1 1
#> COV-AID 1 1
#> COVACTA 1 1
#> COVIDOSE2-SS-A 1 1
#> EMPACTA 1 1
#> HMO-020-0224 1 1
#> ImmCoVA 0 1
#> PreToVid 1 1
#> RECOVERY 1 1
#> REMAP-CAP 1 1
#> REMDACTA 1 1
#> TOCIBRAS 1 1
il6_es <- escalc(
measure = "OR",
ai = treat.events,
bi = treat.total - treat.events,
ci = cont.events,
di = cont.total - cont.events,
data = il6_obs
)
fit_il6 <- cams(il6_es, reference = "no", method = "REML")
forestplot(fit_il6, exponentiate = TRUE)
RESPIRE: respire_age and respire_sex
Log hazard ratios and variances are precomputed from published
intervals (use trial-specific ci_level
when converting from HR tables).
fit_ra <- cams(
escalc(measure = "GEN", yi = respire_age$yi, vi = respire_age$vi, data = respire_age),
reference = "<65",
method = "REML"
)
fit_rs <- cams(
escalc(measure = "GEN", yi = respire_sex$yi, vi = respire_sex$vi, data = respire_sex),
reference = "Male",
method = "REML"
)
forestplot(fit_ra, exponentiate = TRUE)
forestplot(fit_rs, exponentiate = TRUE)
