回答:
オッズ比のほとんどのメタ分析では、標準誤差は対数オッズ比基づいています。それで、あなたはたまたまあなたのがどのように推定されたのか(そしてそれらがどのメトリックを反映しているのか知っていますか?または)?ことを考える基づいている、次いで(固定効果モデルの下で)プールされた標準誤差を容易に計算することができます。まず、各エフェクトサイズの重みを計算してみましょう:。次に、プールされた標準エラーはです。さらに、ましょう l o g (O R i)s e i O R l o g (O R )s e i l o g (O R i)w i = 1 seFEM=√共通の効果(固定効果モデル)。次に、(「プール」)95%信頼区間はです。
更新
BIBBがデータを提供してくれたので、Rで「完全な」メタ分析を実行できます。
library(meta)
or <- c(0.75, 0.85)
se <- c(0.0937, 0.1029)
logor <- log(or)
(or.fem <- metagen(logor, se, sm = "OR"))
> (or.fem <- metagen(logor, se, sm = "OR"))
OR 95%-CI %W(fixed) %W(random)
1 0.75 [0.6242; 0.9012] 54.67 54.67
2 0.85 [0.6948; 1.0399] 45.33 45.33
Number of trials combined: 2
OR 95%-CI z p.value
Fixed effect model 0.7938 [0.693; 0.9092] -3.3335 0.0009
Random effects model 0.7938 [0.693; 0.9092] -3.3335 0.0009
Quantifying heterogeneity:
tau^2 < 0.0001; H = 1; I^2 = 0%
Test of heterogeneity:
Q d.f. p.value
0.81 1 0.3685
Method: Inverse variance method
参考文献
たとえば、Lipsey / Wilson(2001:114)を参照してください。
n
これはコメントです(十分な返信ポイントがありません)。各スタディのサンプルサイズ(#casesおよび#controls)、およびSNPのオッズ比がわかっている場合、a / b(aおよびbは2つの対立遺伝子)によってケース/コントロールの2x2テーブルを再構築できます。 2つの研究のそれぞれ。次に、それらのカウントを追加してメタスタディのテーブルを取得し、これを使用してオッズ比と信頼区間の合計を計算できます。
PLINKのようにメタ分析用のCIを取得するコードは次のとおりです。
getCI = function(mn1, se1, method){
remov = c(0, NA)
mn = mn1[! mn1 %in% remov]
se = se1[! mn1 %in% remov]
vars <- se^2
vwts <- 1/vars
fixedsumm <- sum(vwts * mn)/sum(vwts)
Q <- sum(((mn - fixedsumm)^2)/vars)
df <- length(mn) - 1
tau2 <- max(0, (Q - df)/(sum(vwts) - sum(vwts^2)/sum(vwts)) )
if (method == "fixed"){ wt <- 1/vars } else { wt <- 1/(vars + tau2) }
summ <- sum(wt * mn)/sum(wt)
if (method == "fixed")
varsum <- sum(wt * wt * vars)/(sum(wt)^2)
else varsum <- sum(wt * wt * (vars + tau2))/(sum(wt)^2)
summtest <- summ/sqrt(varsum)
df <- length(vars) - 1
se.summary <- sqrt(varsum)
pval = 1 - pchisq(summtest^2,1)
pvalhet = 1 - pchisq(Q, df)
L95 = summ - 1.96*se.summary
U95 = summ + 1.96*se.summary
# out = c(round(c(summ,L95,U95),2), format(pval,scientific=TRUE), pvalhet)
# c("OR","L95","U95","p","ph")
# return(out)
out = c(paste(round(summ,3), ' [', round(L95,3), ', ', round(U95,3), ']', sep=""),
format(pval, scientific=TRUE), round(pvalhet,3))
# c("OR","L95","U95","p","ph")
return(out)
}
R関数の呼び出し:
getCI(log(plinkORs), plinkSEs)