比较独立样本的相对风险

机器算法验证 t检验 p 值 荟萃分析 相对风险
2022-04-17 00:29:30

对于以下方面的帮助,我将不胜感激。

我有两项独立研究,着眼于疾病 B 的治疗 A。

两者都根据不同年龄组(<50 和 >50)的治疗暴露给出疾病 B 的 RR。

下面是一个假设dataframe

df<-data.frame(rr=c(.50,.30,.60,.20),lb=c(.31,.18,.33,.09),
 ub=c(.82,.49,1.08,.44),study=c(1,1,2,2),
 agegroup=c("below","above","below","above"))
df$"logrr" <-log(df$rr)
df$"logub" <-log(df$ub)
df$"loglb" <-log(df$lb)
df$"se" <-(df$logub-df$loglb)/3.92

我想进行(荟萃分析)和统计检验,以确定年龄组之间治疗效果的差异是否具有统计学意义(即我希望引用 p 值)。我拥有的唯一数据是我想要比较的 RR 和 95% CI(即我没有关于样本量的信息)。

请有人让我知道我可以输入数据的公式。

如果有帮助,我正在使用 R。

2个回答

在这种情况下,您应该直接量化研究中交互作用的大小(治疗组变量和年龄组变量之间)。您可以通过计算研究中两个 log RR 之间的差异来做到这一点。差异的方差只是两个平方标准误差的总和,因为试验中的两个亚组由不同的个体(50 岁以下/50 岁以上)组成,因此是独立的。所以:

df.diff <- with(df, data.frame(study = 1:2,
                               yi = c(logrr[1]-logrr[2], logrr[3]-logrr[4]),
                               vi = c(se[1]^2 + se[2]^2, se[3]^2 + se[4]^2)))

所以我们得到:

  study        yi        vi
1     1 0.5108256 0.1268421
2     2 1.0986123 0.2553729

然后您可以对这些值进行元分析:

res <- rma(yi, vi, data=df.diff)
res

这产生:

Random-Effects Model (k = 2; tau^2 estimator: REML)

tau^2 (estimated amount of total heterogeneity): 0 (SE = 0.2703)
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 = 1) = 0.9039, p-val = 0.3417

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub
  0.7059   0.2911   2.4248   0.0153   0.1353   1.2765        *

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

因此,交互效应的估计大小为0.7059,并且由于我们计算了 (log RR for below 50) - (log RR for above 50),这个值表明 log RR 是平均的0.7059在 50 岁以下的群体中得分更高。或者:

predict(res, transf=exp)

产量:

  pred  ci.lb  ci.ub  cr.lb  cr.ub
2.0256 1.1449 3.5839 1.1449 3.5839

这表明在 50 岁以下的群体中,RR 平均大约是其两倍。

我将抛开是否使用随机效应模型的问题k=2是否合理,但由于估计的异质性量无论如何都是 0,如果我们使用固定效应模型 ( method="FE"),我们将获得相同的结果。

您可以将此视为元回归的示例。您可以将数据框设置为包含 RR、CILB、CIUB、study、agegrp 的列。然后,您将在模型中输入 study 和 agregrp 作为主持人。研究的效果并不重要,只是要消除整体治疗效果的研究差异。agegrp 的系数会告诉您年龄组之间的差异。我假设你会在对数尺度上做这一切,如果你使用 R 中的默认对比,如果你明白我的意思,那么在取幂时 agegrp 的系数会给你相对的相对风险。