SAS

Freqプロシジャでグラフを作成する(2) リスク差プロット、相対リスク比プロット

freqプロシジャでリスク差や相対リスク比を算出できますが、tableステートメントのplotsオプションを使用するとこれらを簡単にグラフとして表示できます。

リスク差プロット

plotsオプションにriskdiffplotを指定するとリスク差をドットプロットで表示してくれます。

riskdiffplotが使えるのはn*2*2の分割表です。

以下の集計結果をfreqプロシジャでリスク差プロットを作成してみます。

(男性)

喫煙歴/副作用ありなし
あり545
なし298

(女性)

喫煙歴/副作用ありなし
あり248
なし397

男性のリスク差は0.1 – 0.02 = 0.08
女性のリスク差は0.04 – 0.03 = 0.01

となります。

これをfreqプロシジャで計算してみましょう。

proc format;
   value cls 1="喫煙歴あり"
             2="喫煙歴なし";
   value adr 1="副作用あり"
        2="副作用なし";
   value sex 1="男"
             2="女";
run;

data test;
format sex sex. class cls. cat adr.;
input sex class cat count;
cards;
1 1 1 5 
1 1 2 45 
1 2 1 2 
1 2 2 98 
2 1 1 2 
2 1 2 48 
2 2 1 3 
2 2 2 97 
; 
run; 

proc freq data=test; 
tables sex*class*cat/ riskdiff plots=riskdiffplot;
weight count /zeros;
run;

実行結果

 
列 1 リスクの推定値
リスクASE95%
信頼限界
正確 95%
信頼限界
行 1 – 行 2 の差
行 10.10000.04240.01680.18320.03330.2181
行 20.02000.01400.00000.04740.00240.0704
合計0.04670.01720.01290.08040.01900.0938
0.08000.0447-0.00760.1676
 
列 1 リスクの推定値
リスクASE95%
信頼限界
正確 95%
信頼限界
行 1 – 行 2 の差
行 10.04000.02770.00000.09430.00490.1371
行 20.03000.01710.00000.06340.00620.0852
合計0.03330.01470.00460.06210.01090.0761
0.01000.0325-0.05380.0738

ASE: 帰無仮説の下での漸近標準誤差

エラーバーはデフォルトだとwald信頼区間を表示しています。信頼区間の種類を指定するにはclオプションで指定しましょう。

特に指定しない場合、リスク差プロットは列1(今回は副作用ありの列)をプロットしますが、columnオプションを2にすると列2(今回は副作用なしの列)をプロットします。

proc freq data=test; 
tables sex*class*cat/ riskdiff plots=riskdiffplot(column=2);
weight count /zeros;
run;

実行結果

相対リスクプロット

相対リスクをプロットするにはplotsオプションにrelriskplotを指定します。設定項目はriskdiffと同様です。プロットできるデータはn*2*2の分割表となります。またオッズ比も一緒にプロットしてくれます。

proc freq data=test; 
tables sex*class*cat/ relrisk plots=relriskplot; 
weight count /zeros; 
run;
 
オッズ比と相対リスク
統計量95% 信頼限界
オッズ比5.44441.017429.1359
相対リスク (列 1)5.00001.005224.8719
相対リスク (列 2)0.91840.83391.0115
 
オッズ比と相対リスク
統計量95% 信頼限界
オッズ比1.34720.21788.3342
相対リスク (列 1)1.33330.23027.7243
相対リスク (列 2)0.98970.92621.0575

実行結果(相対リスク)

実行結果(オッズ比)