Rによるメタ解析/ネットワークメタ解析


メタ解析

RevManよりも簡単に短時間で解析できるので、覚書用にコードを残しておきます。

①エクセルファイルでデータ作成・・・以下を列名にしてデータを作成します。

StudyID:通し番号

Study:試験名

T1:介入の種類(データは1と2などの数字で良い、その場合T1がreferenceとして解析されるので、通常プラセボを1、介入群を2とすれば良い)

R1:発生イベント数

N1:患者総数

2種類の比較ならT2, R2, N2列も作成して、Rに読み込む。


②library(netmeta)をインストールして起動


③データ処理(m.binで保存される、ランダム効果モデルです)

m.bin <- metabin(R1,N1,R2,N2, 

  data = ファイル名

  studlab = paste(Study), 

  comb.fixed = F,comb.random = T, 

  method = 'MH',

 sm = "RR")

 # Mantel Haenszel weighting


④フォレストプロット

forest(m.bin, 

  print.tau2 = FALSE, 

  leftcols = c('studlab'), 

  print.pval.Q = FALSE, 

  label.c = ) 


⑤ファンネルプロット

funnel.meta(m.bin, 

  cex = 2, 

  xlim = c(0.03,25), 

  cex.studlab = 0.8, 

  pos.studlab = 1, 

  studlab = FALSE)   


⑥Eggers test

metabias(m.bin, method.bias = "linreg") 


とりあえずここまでやれば概ね必要なデータは出力されると思います。

詳細は以下のサイトを参照ください、色々カスタマイズが可能です。


フォレストプロット



ネットワークメタ解析

①エクセルのファイル形式はメタ解析と同様に作成

②library(netmeta)をインストールして起動


③効果量の計算 

m.netmeta <- netmeta(TE = TE, 

  seTE = seTE, 

  treat1 = T1, treat2 = T2, treat3 = T3, 

  studlab = author, 

  data =ファイル名,

  sm = "RR", fixed = FALSE, random = TRUE, reference.group = "1", 

  details.chkmultiarm = TRUE, sep.trts = " vs ")


④データのサマリー

summary(m.netmeta) 


⑤ネットワークプロットの作成

 tname <-  c("Placebo", "介入名",・・・・・・・) netgraph(net2,points=TRUE,cex.points=3,cex=1.25,labels=tname, col = blue) 


⑥フォレストプロット

 forest(net2, ref="1")


⑦全てのフォレストプロット 

netsplit(net2) %>% forest()


詳細は以下のサイトを参照ください、色々カスタマイズが可能です。

マニュアルのPDFファイル

https://cran.r-project.org/web/packages/netmeta/netmeta.pdf


0コメント

  • 1000 / 1000