によるkaplan-meierプロットの作成 - sas institute · 2018-07-05 · 1 sg (statistical...
TRANSCRIPT
1
SG (Statistical Graphics) ProceduresによるKaplan-Meierプロットの作成
○魚住 龍史 1,* 浜田 知久馬 2
1 日本化薬株式会社 医薬データセンター2 東京理科大学 工学部 経営工学科
Kaplan-Meier plots using Statistical Graphics Procedures
Ryuji Uozumi 1,* and Chikuma Hamada 21 Clinical Data Management and Biostatistics, Nippon Kayaku Co., Ltd
2 Department of Management Science, Tokyo University of Science
*email : [email protected]
2
要旨:
V9.2からODS統計グラフが正規版として追加された.本発表では,SGPLOTプロシジャ,SGRENDERプロシジャを用いて,Kaplan-Meierプロットを作成するプログラムと出力結果を紹介する.
キーワード: Statistical Graphics, SGPLOT, SGRENDER, TEMPLATE, Graph Template Language, Kaplan-Meier, LIFETEST
3
ODS GRAPHICSによるLIFETESTプロシジャの出力例
解析報告にODS統計グラフをそのまま用いることは難しい
リスク集合の出力
4
論文公表されたKaplan-Meierプロットの事例
Reck M, et al. J Clin Oncol 2009; 27(8): 1227−1234.
p値,リスク集合,ハザード比が追加されたプロット
5.
HR (95% CI) = P =
リスク集合
Kaplan-Meierプロット
1.0
0
5
解析報告に本出力結果を用いる場合の問題点
Kaplan-Meier法による結果を用いてGPLOTプロシジャで作成!?
事例 LIFETEST
LIFETESTプロシジャの出力に手を加えたい…
Reck M, et al. (2009)
6
昨年の発表内容の実践
長島,佐藤 (2010) によるマクロを参考にして,求めるKaplan-Meierプロットを描くことにチャレンジ!!
昨年の発表資料より転載
8.
7
昨年の発表内容の実践結果
他のアプローチを使って,求めるKaplan-Meierプロットを描けないか…!?
マクロであるため,詳細を理解して応用することは容易ではない…
SAS V9.2から追加されたSG Proceduresが使えるのでは…!!?
8
SAS V9.2 SG (Statistical Graphics) Procedures
SGPLOT 2次元プロットを1枚に重ねて描く
SGPANEL指定した分類変数の水準に基づき複数のグラフをパネル状に表示
複数の散布図を並べて1枚に描くSGSCATTER
オプションを指定することにより,グラフの主要部分に対するカスタマイズが可能
9
SAS V9.2 SGRENDERプロシジャ
SGRENDERGraph Template Language (GTL)で作成したグラフのテンプレートを参照して,より詳細な設定
ODS 統計グラフの機能の基盤 :
ODS GRAPHICSステートメントを分析プロシジャで利用した場合のグラフの出力
SG Procedures の実行
GTL
10
本発表の目的
SGPLOT
SGPANEL
SGSCATTER
求めるKaplan-Meierプロット (2群) の作成
SGPLOTプロシジャによる作成
TEMPLATEプロシジャを用いた上で,SGRENDERプロシジャによる作成
SGRENDER
11
発表構成
1. SGPLOTプロシジャによる作成
2. SGRENDERプロシジャによる作成
3. まとめ
TEMPLATEプロシジャを用いた上で実行
12
発表構成 (1/3)
1. SGPLOTプロシジャによる作成
2. SGRENDERプロシジャによる作成
3. まとめ
TEMPLATEプロシジャを用いた上で実行
1. SGPLOTプロシジャによる作成
13
ods graphics on;ods html;ods output ProductLimitEstimates=KM0
HomTests=logrank;proc lifetest data=BMT plots=survival(atrisk=0 to 2500 by 500);time time*status(0);strata group / test=logrank;
run;ods html close;ods graphics off;
LIFETESTプロシジャによるKaplan-Meier法の計算プログラム
Kaplan-Meier法による
生存関数の推定値をデータセットKM0へ出力
リスク集合の出力
1. SGPLOTプロシジャによる作成
データセットBMT : サンプルデータ
14
SGPLOTプロシジャによるKaplan-Meierプロットの作成プログラム
proc sgplot data=KM0;step x=time y=survival / group=group;
run;
STEPステートメントで階段プロットを群ごとに作成
x=time
y=survival
1. SGPLOTプロシジャによる作成
group=group
15
SGPLOTプロシジャによるKaplan-Meierプロット
打切り記号も欲しい…
1. SGPLOTプロシジャによる作成
16
打切り記号を加えたKaplan-Meierプロットの作成プログラム
proc sgplot data=KM1;step x=time y=survival / group=group;
scatter x=time y=censored/ markerattrs=(symbol=plus)
name='Censored‘;scatter x=time y=censored
/ group=groupmarkerattrs=(symbol=plus)
;keylegend 'Censored' / location=inside position=topright;
run;
SCATTERステートメントによる打切り記号の作成
データセットKM1の作成 : SASプログラムを参照
1. SGPLOTプロシジャによる作成
17
打切り記号を加えたKaplan-Meierプロット1. SGPLOTプロシジャによる作成
“+” で打切り記号を出力
リスク集合を出力させたい…
18
proc sgplot data=KM2;step x=time y=survival / <option>;scatter x=time y=censored / <option>;
scatter x=tatrisk y=stratum/ markerchar=atrisk y2axis group=stratum
;keylegend 'Censored' / <option>;
yaxis offsetmin=0.15 min=0;
y2axis offsetmin=0.05 offsetmax=0.90display=none min=1 max=2;
run;
リスク集合を加えたKaplan-Meierプロットの作成プログラム
Kaplan-Meierプロットの軸の設定
リスク集合の出力
データセットKM2の作成 : SASプログラムを参照
1. SGPLOTプロシジャによる作成
リスク集合の軸の設定
19
y軸の設定方法
yaxis
1. SGPLOTプロシジャによる作成
scatter x=tatrisk y=stratum/ markerchar=atrisk y2axis group=stratum
;yaxis offsetmin=0.15 min=0;y2axis offsetmin=0.05 offsetmax=0.90 min=1 max=2;
offsetmin
offsetmax
offsetmin
y2axis
20
リスク集合を加えたKaplan-Meierプロット
ハザード比, p値も出力させたい…
1. SGPLOTプロシジャによる作成
リスク集合のフォントサイズを大きくしたい…
もう少し太い線でプロットしたい…
実線でプロットしたい…
凡例をプロット内に…
21
さらに細かい設定を加えたKaplan-Meierプロットの作成
proc sgplot data=KM2 noautolegend;step x=time y=survival
/ curvelabel group=groupclineattrs=(pattern=solid thickness=2px)
;scatter x=time y=censored / <option>;scatter x=tatrisk y=stratum
/ markerchar=atriskmarkercharattrs=(size=11pt)y2axis group=stratum
;yaxis offsetmin=0.15 min=0;y2axis offsetmin=0.05 offsetmax=0.90 display=none min=1 max=2;inset "HR (95% CI) = &HR (&HR_Lower to &HR_Upper)"
"p = &logrank_p" / position=topright;
run;
リスク集合のフォントサイズの調整
ハザード比,p値の挿入
1. SGPLOTプロシジャによる作成
Kaplan-Meierプロットに対する細かい設定
22
SGPLOTプロシジャによるKaplan-Meierプロット (最終版)
ハザード比, p値も出力
リスク集合のフォントサイズを調整して出力
1. SGPLOTプロシジャによる作成
23
ODS GRAPHICSによるLIFETESTプロシジャの出力との比較
LIFETESTプロシジャの出力より見栄えが良くなった
1. SGPLOTプロシジャによる作成
どちらもリスク集合はプロット内に出力
SGPLOT LIFETEST
24
SGPLOTプロシジャと事例の比較
SGPLOT
実際の医学雑誌では,リスク集合はプロット外に出力
ここに出力したい…
1. SGPLOTプロシジャによる作成
事例
Reck M, et al. (2009)
25
発表構成 (2/3)
1. SGPLOTプロシジャによる作成
2. SGRENDERプロシジャによる作成
3. まとめ
TEMPLATEプロシジャを用いた上で実行
2. SGRENDERプロシジャによる作成
26
TEMPLATEプロシジャによるテンプレートの定義
テンプレートの定義スタート
ODS統計グラフのテンプレートを定義
グラフの定義スタート
SGRENDERプロシジャを実行
テンプレートの定義完了後…
2. SGRENDERプロシジャによる作成
グラフの描画で使用する変数の動的割当
proc template;
define statgraph MyKM;
dynamic pValue HR HR_Lower HR_Upper;
begingraph;::
endgraph;end;
run;
27
複数のプロットを出力する格子を作成
0.85
0.060.09
グラフのレイアウト
2. SGRENDERプロシジャによる作成
proc template;define statgraph MyKM;dynamic pValue HR HR_Lower HR_Upper;begingraph;layout lattice / rowweights=(0.85 0.06 0.09);::
endlayout;endgraph;
end;run;
28
Kaplan-Meierプロット
LAYOUT LATTICEステートメントの内容
layout lattice / rowweights=(0.85 0.06 0.09);
layout overlay;stepplot <階段プロット>;scatterplot <打切り記号>;layout gridded;
entry <ハザード比(95%信頼区間)>;entry <p値>;
endlayout;endlayout;
entry halign=left 'No. of patients at risk';
blockplot <リスク集合>;
endlayout;
リスク集合
リスク集合のタイトル
2. SGRENDERプロシジャによる作成
29
class=group
リスク集合のプロット作成プログラム
entry halign=left 'No. of patients at risk';blockplot x=tatrisk block=atrisk / class=group
display=(label values)valuehalign=startlabelposition=left
;
block=atrisk
x=tatrisk
No. of patients at risk
2. SGRENDERプロシジャによる作成
30
SGRENDERプロシジャによるテンプレートに基づいたプロットの作成
TEMPLATEプロシジャによってテンプレートを定義完了
SGRENDERプロシジャ実行
テンプレートの詳細 : SASプログラムを参照
2. SGRENDERプロシジャによる作成
proc sgrender data=KM2 template=MyKM;dynamic pValue="&logrank_p"
HR="&HR"HR_lower="&HR_lower"HR_upper="&HR_upper" ;
run;
31
SGRENDERプロシジャによるKaplan-Meierプロット
リスク集合をプロット外に出力
2. SGRENDERプロシジャによる作成
32
発表構成 (3/3)
1. SGPLOTプロシジャによる作成
2. SGRENDERプロシジャによる作成
3. まとめ
TEMPLATEプロシジャを用いた上で実行
3. まとめ
33
まとめ
SGPLOTプロシジャによる作成
TEMPLATEプロシジャを用いた上で,SGPLOTプロシジャより細かい設定が可能
リスク集合も出力
ODS GRAPHICSによるLIFETESTプロシジャの出力より細かい設定が可能
SGRENDERプロシジャによる作成
3. まとめ
SG Procedures によるKaplan-Meierプロット
34
SGRENDERプロシジャとSGPLOTプロシジャの比較
TEMPLATEプロシジャを用いた上で,リスク集合をプロット外に出力
SGRENDER SGPLOT
3. まとめ
35
SGRENDERプロシジャと事例の比較
SGRENDER 事例
実際の医学雑誌で報告されているプロットに近づいた
3. まとめ
Reck M, et al. (2009)
36
主要参考文献1. Cartier J, Heath D. Using ODS Styles with SAS/GRAPH(R). Proceedings of the
SAS Global Forum. Cary, NC: SAS Institute Inc., 2007. Available at http://www2.sas.com/proceedings/forum2007/088-2007.pdf.
2. Delwiche LD, Slaughter SJ. Using PROC SGPLOT for Quick High-Quality Graphs. Proceedings of the SAS Global Forum. Cary, NC: SAS Institute Inc., 2009. Available at http://support.sas.com/resources/papers/proceedings09/158-2009.pdf.
3. Holland PR. Why Should You Be Using the New SG (Statistical Graphics) Procedures in SAS(R) 9.2?. Proceedings of the SAS Global Forum. Cary, NC: SAS Institute Inc., 2011. Available at http://support.sas.com/resources/papers/proceedings11/427-2011.pdf.
4. Mantage S. Tips and Tricks for Clinical Graphs using ODS Graphics. Proceedings of the SAS Global Forum. Cary, NC: SAS Institute Inc., 2011. Available at http://support.sas.com/resources/papers/proceedings11/281-2011.pdf.
5. Reck M, Pawel J, Zatloukal P, et al. Phase III Trial of Cisplatin Plus Gemcitabine With Either Placebo or Bevacizumab As First-Line Therapy for Nonsquamous Non-Small-Cell Lung Cancer: AVAil. J Clin Oncol 2009; 27(8): 1227–1234.
6. SAS Institute Inc. SAS/GRAPH(R) 9.2: Graph Template Language Reference, Second Edition. Cary, NC, USA: SAS Institute Inc., 2010.
7. SAS Institute Inc. SAS/STAT(R) 9.2 User’s Guide, Second Edition. Cary, NC, USA: SAS Institute Inc., 2009.
8. 長島健悟, 佐藤泰憲. Kaplan-Meier プロットに付加情報を追加するマクロの作成. SASユーザー総会論文集 2010, 285–294.