4

多くのオッズ比とその信頼区間からメタ分析を行おうとしています。ソース記事は標準誤差を報告しません。

パッケージから使用するには、差異 ( を介して) または標準誤差 ( を介して) を提供する必要rma.uni()があります。したがって、次の方法で標準誤差を計算しました。metaforvi=" "sei = " "(logor = log(odds ratio), UL= CI upper limit, LL = CI lower limit)

se1<-(log(UL)-logor)/1.96
se2<-(log(OR)-log(LL))/1.96

私の問題は、この方法で導出された標準誤差は、同じはずなのに、少し異なることです。これは、CI が作成者によって丸められたという事実によるものだと思います。私の解決策は、これらの平均をモデルの標準誤差としてとることでした。

ただし、モデルを適合させてフォレスト プロットをプロットすると、結果として得られる信頼区間は、最初の信頼区間とはかなり異なります..

dmres<-rma.uni(yi=logor, sei=se, data=dm2)
forest(dmres, atransf=exp, slab=paste(dm2$author))

これを行うより良い方法はありますか?たぶん、信頼区間を直接入れることができる関数でしょうか?

コメントありがとうございます。

アップデート

データとコードの例:

dm<-structure(list(or = c(1.6, 4.4, 1.14, 1.3, 4.5), cill = c(1.2, 
2.9, 0.45, 0.6, 3.2), ciul = c(2, 6.9, 2.86, 2.7, 6.1)), .Names = c("or", 
"cill", "ciul"), class = "data.frame", row.names = c(NA, -5L))

dm$logor<-log(dm$or)
dm$se1<-(log(dm$ciul)-dm$logor)/1.96
dm$se2<-(dm$logor-log(dm$cill))/1.96
dm$se<-(dm$se1+dm$se2)/2

library(metafor)
dmres<-rma.uni(yi=logor, sei=se, data=dm)
forest(dmres, atransf=exp)
4

1 に答える 1

3

信頼区間の境界 (対数スケール) はそもそも対称的ではないため、これらの不一致が生じます。この関数を使用forest.default()して、CI 境界を直接指定し、addpoly()関数で集計ポリゴンを追加できます。あなたの例を使用して:

forest(dm$logor, ci.lb=log(dm$cill), ci.ub=log(dm$ciul), atransf=exp, rows=7:3, ylim=c(.5,10))
addpoly(dmres, row=1, atransf=exp)
abline(h=2)

データセットの CI 境界がフォレスト プロットとまったく同じであることを確認します。

于 2013-08-07T16:15:06.503 に答える