僕の頁 <SASと臨床試験と雑談と>

徒然なるままにSAS暮らし

0802

styleattrsステートメント  

SAS9.4から利用可能になったstyleattrsステートメントで、ようやくSGPLOTやSGPANELプロシジャ内でグループごとのグラフの属性を指定できるようになりました。9.3以前では、GTLで属性をカスタマイズする必要があったので、非常に重宝します。例のごとくとっくに知ってる人は多いと思いますが、SGプロシジャの大きな弱点が克服されたため、個人的なメモもかねて。
以下のように指定すると、グループ1から順に、色が「青、赤、緑」、線種が「1,2,3」、シンボルが「●、▲、◆」と出力されます。
stylleattrs
datacolors = (blue red green)
datalinepatterns = (1 2 3)
datasymbols = (circlefilled trianglefilled diamondfilled) ;

とりあえず使用例を見てみましょう。臨床試験で投与群ごとに継時的に測定されたデータを想定したテストデータを作成します。続いて、投与群ごとの平均値をプロットします。その際、各投与群のグラフの属性をstyleattrsステートメントで上述のオプションを指定します。
*** フォーマットとテストデータ ;
proc format ;
value TRTF 1 = "Placebo" 2 = "Active 1" 3 = "Active 2" ;
value VITF 1 = "Baseline" 2 = "Week 1" 3 = "Week 2" 4 = "Week 3" 5 = "Week 4" ;
run ;
data _TEST ;
call streaminit(100) ;
do ID = 1 to 90 ;
GRP = rand("table",1/3,1/3,1/3) ; *--- 投与群 ;
do VISIT = 1 to 5 ;
*--- VISITごとのテストデータ生成 ;
VAL = rand("normal",10+(VISIT>1)*GRP+(VISIT>1)*0.5*GRP*VISIT,5) ;
output ;
end ;
end ;
format GRP TRTF. VISIT VITF. ;
run ;
*** グラフの作成 ;
proc sgplot data=_TEST ;
*--- 各投与群の属性を指定 ;
styleattrs
datacolors = (blue red green)
datalinepatterns = (1 2 3)
datasymbols = (circlefilled trianglefilled diamondfilled) ;

*--- 投与群ごとの平均値/SDの推移図を描画 ;
vline VISIT / response = VAL
group = GRP
groupdisplay = cluster
stat = mean
limitstat = stddev
limits = both
markers ;
*--- 軸の指定 ;
xaxis type = discrete display = (nolabel) ;
run ;

結果は以下になります。色、線種、シンボルの種類が指定通りに出力されていることが確認できます。groupdisplayオプションと併用することで、投与群ごとの推移図をこのように単純なステートメントで実現できることは非常に有用だと感じています。
Styleattrs.png

Posted on 2015/08/02 Sun. 12:14 [edit]

CM: 0
TB: 0

« axistableステートメント(グラフと表の同時出力)  |  htmlencode関数 »

Comments
Post a comment
Secret

Trackbacks
TrackbacksURL
→http://sasboku.blog.fc2.com/tb.php/51-7cffe27d
Use trackback on this entry.

プロフィール

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

訪れた人

▲Page top