我有兴趣结合 70 岁时心脏病的生存估计。由于这些是生存估计,它们的范围从 0 到 1(类似于比例)。我有 5 项研究,估计值的摘要、95% CI、n 和 SE 如下所示。每行代表一项研究。
> dat
Estimate Lower Upper n SE
1 0.55 0.40 0.71 100 1.479592
2 0.23 0.15 0.35 300 2.562728
3 0.54 0.44 0.66 200 2.092459
4 0.59 0.30 0.75 400 2.959184
5 0.88 0.67 0.98 40 0.935776
dat <- structure(list(Estimate = c(0.55, 0.23, 0.54, 0.59, 0.88), Lower = c(0.4,
0.15, 0.44, 0.3, 0.67), Upper = c(0.71, 0.35, 0.66, 0.75, 0.98
), n = c(100, 300, 200, 400, 40), SE = c(1.47959183673469, 2.56272823568864,
2.09245884228672, 2.95918367346939, 0.935776042294725)), .Names = c("Estimate",
"Lower", "Upper", "n", "SE"), row.names = c(NA, -5L), class = "data.frame")
rma
in packagemetafor
允许我输入sei
(标准错误),这将根据研究封装我从 95% CI 中获得的信息,但生成的置信区间不在 0 和 1 之间(即 CI 为 -0.51、1.77) . 我该如何限制这一点?即确保rma
将 mydat$Estimate
视为 0 到 1 之间的值。
> rma(dat$Estimate, dat$SE, method = "DL")
Random-Effects Model (k = 5; tau^2 estimator: DL)
tau^2 (estimated amount of total heterogeneity): 0 (SE = 1.2621)
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 = 4) = 0.1380, p-val = 0.9977
Model Results:
estimate se zval pval ci.lb ci.ub
0.6302 0.5822 1.0824 0.2791 -0.5109 1.7712
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1