SAS

GTLで折れ線グラフを作図する

臨床統計に限らず時系列データをわかりやすくグラフに表示するために、折れ線グラフはよく使われます。
GTLで折れ線グラフを作図にはSeriesplotステートメントを使用します。

Seriesplotステートメント

Seiresplotステートメントは各データを線で結んだグラフを作成します。線は直線だけでなく矢印やスプライン曲線で結ぶことも可能です。

試しに原油ETFの終値をプロットしてみます。

proc template;
define statgraph seriesplot;
begingraph;
entrytitle "1671 WTI原油価格連動型上場投信";
   layout overlay / xaxisopts=(griddisplay=on)
                    yaxisopts=(griddisplay=on) ;
      seriesplot x=DATE y=END_PRICE;
   endlayout;
endgraph;
end;
run;

proc sgrender data=ds1 template=seriesplot;
run;

実行結果

単純な折れ線グラフを作成するだけであればxとyに対応する変数を指定するだけです。簡単ですね。

複数の系列を表示する

SeriesplotステートメントのGroupオプションにクラス変数を指定すると、クラス変数ごとに系列を作成します。

今度は金ETFと原油ETFの終値の値動きを表示してみましょう。変数TICKERにはETFの名称を格納し、この変数をgroupオプションへ指定します。

proc template;
define statgraph seriesplot;
begingraph;
entrytitle "1671 WTI原油価格連動型上場投信";
   layout overlay / xaxisopts=(griddisplay=on)
                    yaxisopts=(griddisplay=on) ;
      seriesplot x=DATE y=END_PRICE /
        group=TICKER;
   endlayout;
endgraph;
end;
run;

proc sgrender data=ds1 template=seriesplot;
run;

実行結果

金ETFに対して原油ETFの値下がりっぷりがやばいです。価格が4分の1になるとは・・・

エラーバーを表示する

時系列データにエラーバーを表示させるには以下のerrorbarオプションを指定します。

オプション名説明
xerrorbarlowerx方向エラーバーの下限の数値を格納した変数を指定する
xerrorbarupperx方向エラーバーの上限の数値を格納した変数を指定する
yerrorbarlowery方向エラーバーの下限の数値を格納した変数を指定する
yerrorbarlowery方向エラーバーの上限の数値を格納した変数を指定する
errorbarattrsエラーバーの体裁を指定する

Seriesplotステートメントはデフォルトだとマーカーは表示されません。displayオプションでAllを指定すると折れ線とマーカーを表示できます。

以下の例は応答変数(RES)の平均値の時間推移をエラーバーと共に表示しています。LCLMおよびUCLMはそれぞれ95%信頼限界を格納した変数です。

proc template;
define statgraph seriesplot;
begingraph;
entrytitle "1671 WTI原油価格連動型上場投信";
   layout overlay / xaxisopts=(griddisplay=on) 
                    yaxisopts=(griddisplay=on) ;
      seriesplot x=TIME y=RES /
        display=all
        yerrorlower=LCLM
        yerrorupper=UCLM
        markerattrs=(symbol=circlefilled size=10)
        errorbarattrs=(color=black);
      endlayout;
endgraph;
end;
run;

proc sgrender data=ds1 template=seriesplot; 
run;

実行結果