Rで生存曲線の下にリスクテーブルを書く

統計ソフトとして「EZR」の普及が著しいように思います。プログラミング言語のRをコマンダー形式にした「R commander」をさらに医療統計用にカスタマイズしたソフトです。信頼性が高く使いやすいものですが、Rユーザーの私としては、やはり本家のRにも親しんでもらいたい気もあります。

最近論文で生存曲線を見ていると、リスクテーブルまで表示されているものが多くなっています。EZRで生存曲線を描いたときには下にリスクテーブルがついてきます。これをパッケージの力を借りずにRだけですると結構大変です。リスクテーブルだけをEZRに書いてもらい、パワポ上で合成するのが早そうですが、最終的にはRでもなんとかしたいところです。今回はsurvminerをいうパッケージを使って、リスクテーブル付きの生存曲線を描くために最低限必要なことをメモ書きします。データはsurvivalパッケージ内にあるlungデータセットを使用しています。survminerのインストールの際にはggplot2なども読み込まれますが、まれに追加パッケージを要求されることもあるようです。

library (survival)
library (survminer)

g<-survfit(Surv(time, status) ~ sex, data = lung)  
ggsurvplot(g, risk.table=T,
legend= “none”,
palette = “lanonc”,
tables.y.text = FALSE,
risk.table.title= “No. at risk”,
tables.theme = theme_cleantable()
)

その他役に立ちそうなものとしては
title = “Lung Cancer data”, #タイトル表示させる

凡例は
legend.title = “Sex”,
legend.labs = c(“Male”, “female”),
legend=”right”,

また中央値の図示には
surv.median.line = “hv”,
が使えそうです。

いずれもggsurvplotの( )内に付け加えます。

色の調整はpaletteで有名ジャーナル風に”jama”,”nejm”, “lancet”, “jco”などが指定できます。ちなみに 例で使った”lanonc” はlancet oncologyです。
Package ‘ggsci’を検索してみると色々出てきます。

注;プログラムがコピペしてもうまく走らないときは、一旦テキストに張り付けてみてください。