Rでサブグループ解析を行い、フォレストプロットを描く

臨床試験の論文にはサブグループ解析がついていることが多いです。これをRで行う方法が今までわかりませんでした。やりたいことは、特定のサブグループを取り出して、治療有り無しでハザード比を使ったフォレストプロットを書くことですが、今までパッケージを見つけられませんでした。メタアナリシスは、”rmeta”などいくつかパッケージがあります。数値を手入力して根性で書くところまでは到達しますが、簡便とはとても言えません。昔学会でうまく書いている人に聞いてみたところ、SASで書いているとの返事でした。SASは恐ろしく高いソフトで、しがない市中病院勤務医には手も出ません…。
しかしついにパッケージを見つけましたので、備忘録も兼ねてご紹介したいと思います。パッケージは‘SubgrPlots’です。表示項目が多く、また細かい指定が多いので複雑に見えますが、よく見れば書くのに難しいことは必要ありません。

ソースコードは末尾に示します。

prcaはパッケージに入っている前立腺癌の見本データセットです。
rxは治療有り無し、bmは骨転移、stageはそのままです。

covari.sel :サブグループとなる因子を指定する(データセットの何番目という指定)
trt.sel :治療有無を示す因子を指定する(上に同じ)
resp.sel :治療効果を示す因子を指定(ハザードならtime, status)(上に同じ)
outcome.type :治療効果の型を指定する文字列,これは “continuous”,または
“binary “または “survival “のどれかで指定.size.shape : サンプルサイズを表示するダイアモンドの高さと幅を指定する。
font.size : ラベルとテキストのサイズを指定する。
 ・1番目はメインのタイトル用,・2番目はX軸ラベル用、
 ・3番目は最初のサブ図のテキスト用,・4番目はX軸ラベル用
title : 3つのサブ図のメインタイトルを指定。
lab.x: 3つのサブ図のx軸ラベルを指定。
time : RMSTを計算する時間
KM: 3枚目のパネルにKaplan-Meier曲線を表示するかどうかを指示
show.km.axis: Kaplan-Meier曲線に軸を表示するかどうかを指示
widths: 3つのパネルの幅を指示
max.time: Kaplan-Meier曲線におけるx軸の最大表示時間を指示
NULLの場合は,データセットからの最大値.
n.brk: Kaplan-Meier 曲線の時間の表示をいくつにするか指示。trt.labels: 治療有無の表示を指定する(長さ2)。
panel.title: 最初のパネルの列タイトルを指定する(長さ3)
eff.scale: “logHR “または “HR “のいずれか。outcome.type = “survival “の場合のみ必要。