Chapter 6 補足

6.1 3群のうち2群が同じ介入

3群研究で、Control を除く2群の中身がほぼ同じでメタ分析では同じ介入としたいとする。これは「分析単位」(unit of analysis)問題という。

参照: https://bookdown.org/baba_yoshihiko/Doing_Meta_Analysis_in_R/effects.html#unit-of-analysis

例えば、ある研究では「参照群」「高強度の有酸素運動群」「低強度の有酸素運動群」の3群があったが、ネットワークメタ分析上は「参照群」「運動群」「運動群」に分けたいとする。

一番良い解決方法は、群を合体することである。これは、dmetar パッケージの pool.groups() 関数で行うことができる。

library(dmetar)

pool.groups(n1 = 50,   # group 1 サンプルサイズ
            n2 = 50,   # group 2 サンプルサイズ
            m1 = 3.5,  # group 1 平均
            m2 = 4,    # group 2 平均
            sd1 = 3,   # group 1 標準偏差
            sd2 = 3.8) # group 2 標準偏差
##   Mpooled SDpooled Npooled
## 1    3.75 3.415369     100

参照: https://bookdown.org/baba_yoshihiko/Doing_Meta_Analysis_in_R/es-calc.html#pool-groups

6.2 サブグループ分析

グループごとに分類したフォレストプロットなどが見られる。通常のメタ分析では、これは単なるサブグループ解析で実現できる。meta の場合、metagen()byvar = 列名 引数を渡す。

ネットワークメタの場合は、サブグループに分けると、ネットワークが分裂する可能性がある。現状、netmetagemtcBUGSnetmeta のような引数はない。

この場合は、分裂したサブネットワークごとに分析を行えば良いのだろうか?ただし、一つのネットワークを分裂させると、不連続などが出て、分析できなくなる可能性がある。

6.3 前後比較の差の計算

RCT では、各群について複数回アウトカムを測定することがある。

ここでは、INT 群と CON 群の T0 と T1 時点での平均値と標準誤差があるとする。

  • \(mean_{INT,T1}\) (\(sd_{INT,T1}\)) と \(mean_{INT,T0}\) (\(sd_{INT,T0}\)) の差
  • \(mean_{CON,T1}\) (\(sd_{CON,T1}\)) と \(mean_{CON,T0}\) (\(sd_{CON,T0}\)) の差

これを、以下のように変換する必要がある。これを一般に「差の差」(Difference in differences)という。

上のデータから、

  • \(mean_{INT}\) (\(sd_{INT}\))
  • \(mean_{CON}\) (\(sd_{CON}\))

を求めたい。平均値は引き算するだけでよいが、標準偏差は「プール標準偏差」(s_pooled)を計算する必要がある。また、プール標準誤差 (se) も求める。

mean_INT = mean_INT_T1 - mean_INT_T0
s_pooled <- sqrt((sd_INT_T0^2 + sd_INT_T1^2)/2)
se <- s_pooled*sqrt(2/n_INT)

参照: https://bookdown.org/baba_yoshihiko/Doing_Meta_Analysis_in_R/effects.html#s-md