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 = 列名
引数を渡す。
ネットワークメタの場合は、サブグループに分けると、ネットワークが分裂する可能性がある。現状、netmeta
、gemtc
、BUGSnet
に meta
のような引数はない。
この場合は、分裂したサブネットワークごとに分析を行えば良いのだろうか?ただし、一つのネットワークを分裂させると、不連続などが出て、分析できなくなる可能性がある。
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