r-statistics-fanの日記

統計好きの現場の臨床医の覚書のようなもの

メタアナリシス reiv()

f:id:r-statistics-fan:20140913184349j:plainf:id:r-statistics-fan:20140913184355j:plainf:id:r-statistics-fan:20140913184415j:plainf:id:r-statistics-fan:20140913184422j:plain
メタアナリシス

某つぶやきで、reiv()の存在を知った。
http://www.youtube.com/watch?v=0XFlPB0mEzA
http://zanet.biz/R/fct/ma_metafor_unibb.zip

よりダウンロードできるらしい。

そして、自分自身は使うことはないものの、他人に教えることが多いEZR
と結果が異なるとのことらしい。

たしかに、P値などが異なる。

調べると、reiv()はREMLを使っているらしい。

不毛だけどEZRで再現してみる。

とりあえず、比率の比較のメタアナリシスのみ試してみた。

下準備としてEZRにパッケージmetaforをあらかじめインストールしておく必要がある。
その上でEZRのメタアナリスで出力されるスクリプト

#もともと
res <- metabin(var1, var2, var3, var4, data=TempDF, sm="RR", studlab=var5, comb.fixed=TRUE, 
  comb.random=TRUE)

#に
#method = "Inverse", method.tau="REML"を加えると良いようだ。

#つまりこうなる。

res <- metabin(var1, var2, var3, var4, data=TempDF, sm="RR", studlab=var5, comb.fixed=TRUE, 
  comb.random=TRUE, method = "Inverse", method.tau="REML")
  
  
#EZR+method = "Inverse", method.tau="REML" &install-metafor
> res
      RR           95%-CI %W(fixed) %W(random)
a 0.9779 [0.9272; 1.0313]     85.54      57.66
b 0.9098 [0.6459; 1.2816]      2.06       9.39
c 0.8473 [0.7367; 0.9743]     12.40      32.95

Number of studies combined: k=3

                         RR           95%-CI       z  p.value
Fixed effect model   0.9592 [0.9132; 1.0076] -1.6589   0.0971
Random effects model 0.9264 [0.8272; 1.0376] -1.3213   0.1864

Quantifying heterogeneity:
tau^2 = 0.0051; H = 1.35 [1; 2.47]; I^2 = 44.8% [0%; 83.6%]

Test of heterogeneity:
    Q d.f.  p.value
 3.62    2   0.1633

Details on meta-analytical method:
- Inverse variance method
- restricted maximum-likelihood estimator for tau^2

#reiv
> reiv()
[1] "Meta-analysis"
[1] "Random-effects model with inverse variance-based method"
[1] "Risk Ratio (RR)"

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

  logLik  deviance       AIC       BIC      AICc  
  1.7492   -3.4985    0.5015   -2.1122   12.5015  

tau^2 (estimated amount of total heterogeneity): 0.0051 (SE = 0.0107)
tau (square root of estimated tau^2 value):      0.0711
I^2 (total heterogeneity / total variability):   50.34%
H^2 (total variability / sampling variability):  2.01

Test for Heterogeneity: 
Q(df = 2) = 3.6244, p-val = 0.1633

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub          
 -0.0764   0.0578  -1.3213   0.1864  -0.1897   0.0369          

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

[1] "Egger's test:"

Regression Test for Funnel Plot Asymmetry

model:     weighted regression with multiplicative dispersion
predictor: standard error

test for funnel plot asymmetry: t = -0.9992, df = 1, p = 0.5003

[1] "Begg's test"

Rank Correlation Test for Funnel Plot Asymmetry

Kendall's tau = -0.3333, p = 1.0000

p値など一致した。

reiv()は勉強になった。
EZRでのデフォルトは計算が簡単なDerSimonian-Laird methodを利用しているが、
metaforだとより正確な値になるようだ。