メタアナリシス



Rを用いてメタアナリシスをしてみよう。Rのバージョンは少し古いが・・・

実行手順マニュアルは理研 遺伝子多型研究センター関節リウマチチームのホームページこちら

RのWikiにもリンクを張ろうと思ったら、すでにどなたかによってリンクが張られていました(Rでメタアナリシス)

Rのrmetaパッケージを使ってMantel-Haenszel法の実行とその結果とplotを得る関数


dormeta<-function(file){
library(rmeta);
outobj<-read.table(file,header=TRUE);
outobjMH<-meta.MH(n.case,n.ctrl,sus.case,sus.ctrl,data=outobj,names=study);

plot(outobjMH);
return (outobjMH);
}

パッケージrmetaはあらかじめインストールされているものとし、この関数の実施にあたっては、rmetaの読み込みを関数にさせている。もし、繰り返し実行するなどの理由でrmetaの読み込み("library(rmeta)")を最初に行い、その上で、rmetaの関数のみを使う場合には、上記の関数のうち、"library(rmeta)"の行を削除したものを用いる。

引数"file"は文字列で、ローカルのテキストファイルを読み込ませる。

たとえば、"C:\Program Files\R\R-2.2.0\data.txt"というファイルが入力ファイルであり、実行ディレクトリが"C:\Program Files\R\R-2.2.0"となっていたとすると

実行コマンドは


datafile<-"./data.txt"
outObj<-dormeta(datafile)

である。GUIでRを実行している場合には、添付のようなプロット図が立ち上がるはずである

なお、入力ファイルはタブ区切りのテキストでカラムとして、study n.case n.ctrl sus.case sus.ctrl の5カラムを含むものとする。それ以外に任意のカラムがあっても問題ない。個々のスタディは2x2分割表検定をしているものとし、"study"は個々のスタディを識別する名称、"n.case"は、ケース群のサンプル数、"n.ctrl"は、コントロール群のサンプル数、"sus.case"はケース群の感受性アレル数、"sus.ctrl"はコントロール群の感受性アレル数のカラムとする。

入力ファイルのサンプルは以下のとおり


study SNP n.case n.ctrl sus.case sus.ctrl
Suzuki 104 1466 1470 575 486
Barton 104 1678 962 578 303
Ikari 104 2388 1878 921 640