telehealth <- tibble::tibble(
study = c("Taipei Mood Trial", "Taichung Primary Care Study",
"Kaohsiung Digital CBT", "Tainan Collaborative Care",
"Hualien Rural Telehealth", "Chiayi App-Guided Trial",
"Keelung Nurse Coaching", "Pingtung Community Study",
"Miaoli Older Adult Trial", "Yilan Brief CBT Study",
"Nantou Stepped Care", "Taitung Indigenous Health Trial"),
population = c("Adult", "Adult", "Adult", "Adult", "Rural", "Adult",
"Older adult", "Rural", "Older adult", "Adult",
"Older adult", "Rural"),
sessions = c(8, 6, 10, 7, 4, 5, 6, 3, 5, 4, 7, 4),
n_tx = c(120, 95, 140, 110, 78, 130, 86, 72, 90, 88, 94, 70),
mean_tx = c(-8.5, -6.2, -10.4, -7.4, -3.8, -5.8, -4.6, -2.9, -4.1, -4.9, -5.2, -3.1),
sd_tx = c(8.8, 7.9, 9.1, 8.0, 7.5, 8.2, 7.7, 7.1, 7.9, 7.6, 8.0, 7.3),
n_ctrl = c(118, 98, 136, 108, 80, 128, 84, 74, 88, 90, 92, 72),
mean_ctrl = c(-4.1, -3.2, -4.5, -3.9, -2.4, -3.0, -2.8, -2.0, -2.2, -2.9, -2.6, -1.9),
sd_ctrl = c(8.5, 8.1, 8.9, 8.2, 7.2, 8.0, 7.5, 7.0, 7.6, 7.5, 7.8, 7.1)
)
tele_es <- telehealth |>
mutate(
md = mean_tx - mean_ctrl,
vi = sd_tx^2 / n_tx + sd_ctrl^2 / n_ctrl,
se = sqrt(vi),
ci_low = md - 1.96 * se,
ci_high = md + 1.96 * se,
population = factor(population, levels = c("Adult", "Older adult", "Rural"))
)
kable(
tele_es |>
transmute(研究 = study, 族群 = population, 療程數 = sessions,
`MD` = md, `SE` = se, `95% CI` = sprintf("%.2f to %.2f", ci_low, ci_high)),
digits = 2
)