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

徒然なるままにSAS暮らし

----

スポンサーサイト  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Posted on --/--/-- --. --:-- [edit]

CM: --
TB: --

0821

GTLでstyleattrsと同様のグループ属性を指定する  

先日、SGPLOTプロシジャのstyleattrsステートメントを紹介しましたが、同様の出力をGTL(Graph Template Language)で実現する方法を紹介します。GTLでは、begingraphステートメントでdatacontrastcolors等のオプションを指定することができます。まず、テストデータとして、カテゴリ変数2個と色分けしたいグループ変数、Visit変数、分析対象の変数を作成し、平均値をseriesプロットで描画します。GTLではdatalatticeステートメントでカテゴリ変数のパネルごとにグラフを作成し、SGPANELプロシジャで同様のグラフを作成します。datalatticeステートメントについては別途紹介したいと思います。

・テストデータ作成と要約統計量算出
*** テストデータ作成 ;
data test ;
do I = 1 to 200 ;
GRP = rantbl(100,1/3,1/3,1/3) ;
CAT1 = rantbl(100,1/2,1/2) ;
CAT2 = rantbl(100,1/3,1/3,1/3) ;
do VISIT = 1 to 4 ;
VAL = 10 + GRP + CAT1 + CAT2 + GRP*CAT1 + GRP*CAT2 + VISIT + rannor(100) ;
output ;
end ;
end ;
run ;
*** 要約統計量の算出 ;
proc summary data=test nway ;
class CAT1 CAT2 VISIT GRP ;
var VAL ;
output out=_OUT(drop=_TYPE_ _FREQ_ ) mean=mean ;
run ;


・GTLによるグラフ作成(青字部分がグループ変数GRPのスタイル指定箇所)
*** 1. GTLによるGroupのカテゴリごとのスタイル指定 ;
proc template ;
define statgraph _XXX ;
begingraph / datacontrastcolors = (orange purple blue)
datalinepatterns = (1)
datasymbols = (circlefilled trianglefilled diamondfilled)
; *--- SGPLOT/SGPANELのstyleattrsに対応 ;
entrytitle "test" ;
layout datalattice rowvar=CAT1 columnvar=CAT2
/ start = topleft border = false headerlabeldisplay = namevalue skipemptycells = true
columnaxisopts = (type=discrete display=(line ticks tickvalues label) label="Visit")
rowaxisopts = (display=all label='VAL (mg/dL)')
columndatarange = unionall rowdatarange = unionall
columngutter = 5 rowgutter = 1
columns = 3 rows = 2 ; *--- 行と列の数や隙間を指定 ;
layout prototype ;
seriesplot x=VISIT y=mean
/ group=GRP lineattrs=(Thickness=1px) name="G" legendlabel="Group"
groupdisplay=overlay display=(markers) ; *--- lineにmarkersymbolを重ねる ;
endlayout ;
sidebar / align=bottom ;
DiscreteLegend "G" / displayclipped=true location=outside across=3 title="Group" border=false ;
endsidebar ;
endlayout ;
endgraph ;
end ;
run ;
*** グラフ出力 ;
proc sgrender data=_OUT template=_XXX ;
run ;


・結果は以下になります。
GTL_vs_styleattrs_1.png

・SGPANELプロシジャによるグラフ作成(青字部分がグループ変数GRPのスタイル指定箇所)
*** 2. sgpanelのstyleattrs ;
title "test" ;
proc sgpanel data=_OUT ;
styleattrs datacontrastcolors = (orange purple blue)
datalinepatterns = (1)
datasymbols = (circlefilled trianglefilled diamondfilled) ;

panelby CAT2 CAT1 / layout=lattice columns=3 ;
series x=VISIT y=mean / group=GRP name="leg" legendlabel="Group" markers ;
keylegend "leg" / position=bottom title="Group" noborder ;
colaxis label="Visit" type=discrete ;
rowaxis label="VAL (mg/dL)" ;
run ;


・結果は以下になります。グラフの間の隙間部分以外、GTLとほとんど同様の出力になります。選択肢が広がって便利です。
GTL_vs_styleattrs_2.png

参考サイト:http://blogs.sas.com/content/sgf/2014/05/30/assigning-graph-style-attributes-easily/
スポンサーサイト

Posted on 2015/08/21 Fri. 01:12 [edit]

CM: 0
TB: 0

« datapanelステートメントとdatalatticeステートメント  |  申請時電子データ提出にかかる実務担当者のためのワークショップ »

コメント
コメントの投稿
Secret

トラックバック
トラックバックURL
→http://sasboku.blog.fc2.com/tb.php/61-67feecf8
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

訪れた人

▲Page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。