によるkaplan-meierプロットの作成 · pdf file16...

36
1 SG (Statistical Graphics) Procedures によるKaplan-Meierプロットの作成 ○魚住 龍史 1, * 浜田 知久馬 2 1 日本化薬株式会社 医薬データセンター 2 東京理科大学 工学部 経営工学科 Kaplan-Meier plots using Statistical Graphics Procedures Ryuji Uozumi 1, * and Chikuma Hamada 2 1 Clinical Data Management and Biostatistics, Nippon Kayaku Co., Ltd 2 Department of Management Science, Tokyo University of Science *email : [email protected]

Upload: lethu

Post on 06-Feb-2018

309 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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]

Page 2: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

2

要旨:

V9.2からODS統計グラフが正規版として追加された.本発表では,SGPLOTプロシジャ,SGRENDERプロシジャを用いて,Kaplan-Meierプロットを作成するプログラムと出力結果を紹介する.

キーワード: Statistical Graphics, SGPLOT, SGRENDER, TEMPLATE, Graph Template Language, Kaplan-Meier, LIFETEST

Page 3: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

3

ODS GRAPHICSによるLIFETESTプロシジャの出力例

解析報告にODS統計グラフをそのまま用いることは難しい

リスク集合の出力

Page 4: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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

Page 5: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

5

解析報告に本出力結果を用いる場合の問題点

Kaplan-Meier法による結果を用いてGPLOTプロシジャで作成!?

事例 LIFETEST

LIFETESTプロシジャの出力に手を加えたい…

Reck M, et al. (2009)

Page 6: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

6

昨年の発表内容の実践

長島,佐藤 (2010) によるマクロを参考にして,求めるKaplan-Meierプロットを描くことにチャレンジ!!

昨年の発表資料より転載

8.

Page 7: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

7

昨年の発表内容の実践結果

他のアプローチを使って,求めるKaplan-Meierプロットを描けないか…!?

マクロであるため,詳細を理解して応用することは容易ではない…

SAS V9.2から追加されたSG Proceduresが使えるのでは…!!?

Page 8: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

8

SAS V9.2 SG (Statistical Graphics) Procedures

SGPLOT 2次元プロットを1枚に重ねて描く

SGPANEL指定した分類変数の水準に基づき複数のグラフをパネル状に表示

複数の散布図を並べて1枚に描くSGSCATTER

オプションを指定することにより,グラフの主要部分に対するカスタマイズが可能

Page 9: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

9

SAS V9.2 SGRENDERプロシジャ

SGRENDERGraph Template Language (GTL)で作成したグラフのテンプレートを参照して,より詳細な設定

ODS 統計グラフの機能の基盤 :

ODS GRAPHICSステートメントを分析プロシジャで利用した場合のグラフの出力

SG Procedures の実行

GTL

Page 10: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

10

本発表の目的

SGPLOT

SGPANEL

SGSCATTER

求めるKaplan-Meierプロット (2群) の作成

SGPLOTプロシジャによる作成

TEMPLATEプロシジャを用いた上で,SGRENDERプロシジャによる作成

SGRENDER

Page 11: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

11

発表構成

1. SGPLOTプロシジャによる作成

2. SGRENDERプロシジャによる作成

3. まとめ

TEMPLATEプロシジャを用いた上で実行

Page 12: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

12

発表構成 (1/3)

1. SGPLOTプロシジャによる作成

2. SGRENDERプロシジャによる作成

3. まとめ

TEMPLATEプロシジャを用いた上で実行

1. SGPLOTプロシジャによる作成

Page 13: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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 : サンプルデータ

Page 14: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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

Page 15: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

15

SGPLOTプロシジャによるKaplan-Meierプロット

打切り記号も欲しい…

1. SGPLOTプロシジャによる作成

Page 16: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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プロシジャによる作成

Page 17: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

17

打切り記号を加えたKaplan-Meierプロット1. SGPLOTプロシジャによる作成

“+” で打切り記号を出力

リスク集合を出力させたい…

Page 18: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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プロシジャによる作成

リスク集合の軸の設定

Page 19: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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

Page 20: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

20

リスク集合を加えたKaplan-Meierプロット

ハザード比, p値も出力させたい…

1. SGPLOTプロシジャによる作成

リスク集合のフォントサイズを大きくしたい…

もう少し太い線でプロットしたい…

実線でプロットしたい…

凡例をプロット内に…

Page 21: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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プロットに対する細かい設定

Page 22: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

22

SGPLOTプロシジャによるKaplan-Meierプロット (最終版)

ハザード比, p値も出力

リスク集合のフォントサイズを調整して出力

1. SGPLOTプロシジャによる作成

Page 23: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

23

ODS GRAPHICSによるLIFETESTプロシジャの出力との比較

LIFETESTプロシジャの出力より見栄えが良くなった

1. SGPLOTプロシジャによる作成

どちらもリスク集合はプロット内に出力

SGPLOT LIFETEST

Page 24: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

24

SGPLOTプロシジャと事例の比較

SGPLOT

実際の医学雑誌では,リスク集合はプロット外に出力

ここに出力したい…

1. SGPLOTプロシジャによる作成

事例

Reck M, et al. (2009)

Page 25: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

25

発表構成 (2/3)

1. SGPLOTプロシジャによる作成

2. SGRENDERプロシジャによる作成

3. まとめ

TEMPLATEプロシジャを用いた上で実行

2. SGRENDERプロシジャによる作成

Page 26: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

26

TEMPLATEプロシジャによるテンプレートの定義

テンプレートの定義スタート

ODS統計グラフのテンプレートを定義

グラフの定義スタート

SGRENDERプロシジャを実行

テンプレートの定義完了後…

2. SGRENDERプロシジャによる作成

グラフの描画で使用する変数の動的割当

proc template;

define statgraph MyKM;

dynamic pValue HR HR_Lower HR_Upper;

begingraph;::

endgraph;end;

run;

Page 27: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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;

Page 28: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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プロシジャによる作成

Page 29: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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プロシジャによる作成

Page 30: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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;

Page 31: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

31

SGRENDERプロシジャによるKaplan-Meierプロット

リスク集合をプロット外に出力

2. SGRENDERプロシジャによる作成

Page 32: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

32

発表構成 (3/3)

1. SGPLOTプロシジャによる作成

2. SGRENDERプロシジャによる作成

3. まとめ

TEMPLATEプロシジャを用いた上で実行

3. まとめ

Page 33: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

33

まとめ

SGPLOTプロシジャによる作成

TEMPLATEプロシジャを用いた上で,SGPLOTプロシジャより細かい設定が可能

リスク集合も出力

ODS GRAPHICSによるLIFETESTプロシジャの出力より細かい設定が可能

SGRENDERプロシジャによる作成

3. まとめ

SG Procedures によるKaplan-Meierプロット

Page 34: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

34

SGRENDERプロシジャとSGPLOTプロシジャの比較

TEMPLATEプロシジャを用いた上で,リスク集合をプロット外に出力

SGRENDER SGPLOT

3. まとめ

Page 35: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

35

SGRENDERプロシジャと事例の比較

SGRENDER 事例

実際の医学雑誌で報告されているプロットに近づいた

3. まとめ

Reck M, et al. (2009)

Page 36: によるKaplan-Meierプロットの作成 · PDF file16 打切り記号を加えたKaplan-Meierプロットの作成プログラム proc sgplot data=KM1; step x=time y=survival

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.