2
mydat <- data.frame(stage1 = c(4, 3, 2, 1), n1 = c(10, 40, 30, 20))
mydat
  stage1 n1
1      4 10
2      3 40
3      2 30
4      1 20

我有一个包含 4 个研究(每行 1 个)的简单数据集,并且我有每个研究的事件数(stage1)和样本量(n1)。在研究的第 1 阶段,来自研究 #1 的 10 人中有 4 人患有这种疾病。相比之下,研究#2 中只有 3/40 的人患有这种疾病,等等。

library(meta)
metaprop(mydat$stage1, mydat$n1)

我使用该metaprop函数对 4 项研究中的单个比例进行荟萃分析。但是,假设每项研究都在稍后阶段报告其他效果估计值。

mydat2 = data.frame(stage1 = c(4, 3, 2, 1), n1 = c(10, 20, 30, 40), stage2 = c(7, 5, 3, 4), n2 = c(10, 20, 30, 40))
mydat2
  stage1 n1 stage2 n2
1      4 10      7 10
2      3 20      5 20
3      2 30      3 30
4      1 40      4 40

因此,在第 2 阶段,现在 10 个可能的人中共有 7 人患有研究 #1 中的疾病。我将如何准确地考虑到这一点,以便正确调整相关性?我是否应该在我的 data.frame 中制作阶段和研究指标:

> mydat3 = data.frame(event = c(mydat2$stage1, mydat2$stage2), n = c(mydat2$n1, mydat2$n2), stage = c(rep(1, 4), rep(2, 4)), study = c(rep(c(1, 2, 3, 4), 2)))
> mydat3
  event  n stage study
1     4 10     1     1
2     3 20     1     2
3     2 30     1     3
4     1 40     1     4
5     7 10     2     1
6     5 20     2     2
7     3 30     2     3
8     4 40     2     4

但是我如何将它包含在我的metaprop函数调用中?我也愿意使用其他功能(不仅仅是metaprop)。

4

1 回答 1

0

这是使用广义线性效应模型的解决方案。2.4 是每增加一个阶段,患病率增加的比值比。

fit <- glmer(cbind(event, n-event) ~ (1|study) + stage, data = mydat3,         
family=binomial(link = "logit"))
summary(fit)
es <- fixef(fit)
confint <- confint(fit)[-1,]
exp(cbind(es, confint))

                     es       2.5 %    97.5 %
 (Intercept) 0.05082079 0.006362861 0.3405915
 stage       2.39413175 1.001923435 6.1305560
于 2018-11-02T00:20:11.407 回答