Kengo Nagashima



SGPLOT Procedure用のKaplan-Meierプロットにリスク集合のサイズを追加するマクロ

SAS 9.4 (SAS/STAT 13.1) では SGPLOT Procedure に大幅な改良・追加が行われました。 例えば、XAXISTABLE statement および YAXISTABLE statement は、軸の thick mark の位置に合わせて表や数値を簡単に並べることができる強力な statementです。
本マクロはこの機能を使用して、Kaplan-Meier プロットにリスク集合のサイズを表示させるためのデータセットを作成します。

また、 SAS/STAT 14.1 ではノンパラメトリックな競合リスクの解析に対応したため、CIF のプロットを簡単に描画できる様になりました。
CIF の解析において、リスク集合のサイズについては、Kaplan-Meier プロットと同様のリスク集合 (打ち切りと競合イベントを両方をともリスク集合から除く) と、調整したリスク集合 (競合イベントはリスク集合に残り続ける) の両方を計算できる様にしています。 なお、調整したリスク集合は競合リスクの影響を見る際の参考のために用いる程度が望ましく、解析結果の報告時には未調整のリスク集合を表示したほうがよいと思われますのでご注意下さい。

SAS/STAT 14.1で追加された機能を利用するため、SAS/STAT 14.1 以降のバージョンが必要になります。

skmdata_v112.zip (download)

既知の問題点 & 改良予定

  1. 統計量の表示

不具合や質問につきましては、メールにてご連絡いただけると助かります。

マクロの概説

マクロ (skmdata) の引数の説明

/********************************************************
 引数
  data: 入力データセット名
  time: 時間の変数
  event: イベント変数
  group: 群の変数
  censor_value: 打ち切りのコード
  out: 出力データセット名
  timemax: リスク集合のサイズの表示の最後の時点
  timeby: リスク集合のサイズの表示を何ヶ月 (または日, 年) 毎にするか

  * CIFを計算したい場合のみ以下を指定
  event_value: 目的のイベントのコード名
********************************************************/

マクロ (skmdata) の出力データセット (out) の説明

/********************************************************
 出力データセット (out)
  time: 時間
  strata: 群
  est: 生存関数 or CIFの推定値
  lcl: 信頼下限
  ucl: 信頼上限
  left: リスク集合のサイズ
  atrisk: 表示用に整形したリスク集合のサイズ
  xatrisk: 表示用に整形したリスク集合のサイズの横軸

  * event_value を指定した場合のみ以下が作成される
  adjleft: 調整したリスク集合のサイズ
  adjatrisk: 表示用に整形した調整したリスク集合のサイズ
********************************************************/

マクロ (skmdata) を実行すると、上記の変数で結果が出力されるため、ダウンロードファイルのサンプルを一部編集するだけでグラフを描画できます。

Examples

サンプルプログラムは上記のダウンロードファイルに含まれていますので、そちらをご参照下さい。
以下では、出力結果の例を示します。

リスク集合をグラフ外, 信頼区間あり

skmdata example 01

リスク集合をグラフ内, 信頼区間あり

skmdata example 02

リスク集合をグラフ外, 信頼区間なし

skmdata example 03

リスク集合をグラフ内, 信頼区間なし

skmdata example 04

CIFの表示 (通常のリスク集合)

skmdata example 05

CIFの表示 (調整済みリスク集合)

skmdata example 06

旧バージョン

履歴