545 Views
October 21, 24
スライド概要
[第10回大阪sas勉強会]
SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです
Violin plotに箱ひげ図を追 加する エイツーヘルスケア株式会社 淺井友紀
昨年のsasユーザー会での発表 • 10のグラフについて作り方や特徴を紹介するとても素晴らしい発表 • 別添として具体的なsasプログラムまでついていて至れり尽くせり
violin plotに箱ひげを追加します • 追加した図は左の 通り • Violin plotを作成 する確率密度の データセットに、 データの実際の値 を保持してGTLで 作図
確率密度のデータに実際のデータを保持 • 色んなやり方があるが、今回は発表者の好みによりそれぞれの データを縦に結合する • 他にもinner joinしたり、mergeをする方法がある
データセットのイメージ • 下図の397-401行目が確立密度、402-406が実際のデータ • 確率密度のデータにあるx軸の変数(dum_x)と同じ値を格納した x軸の変数(dum_x_ret)、出力する実際の値(neuval)があれば描 画可能 • 確率密度のデータと実データをsetして、visitでsortしてから確率密度 のデータにあるdum_xと同じ値を実データにdum_x_retにコピー • その後violinplotと箱ひげ図のx軸をdum_x_retを指定して描画
描画部分に箱ひげを追加 • boxplot x=dum_x_ret y=neuval / • boxwidth=0.1 • display=(caps median fill notches ) • fillattrs=(color=cxffffff) • whiskerattrs=(color=cx000000) • extreme = true • ;
Boxplotにextremeを指定しない場合 • 通常は箱の1.5倍までひげ が引かれ、それより大き い/小さい値はdotで表示 される(左図は sashelp.carsで作成) • Extreme=trueを指定する と、dotの代わりにデータ の最大最小までひげを引 くことができる
完成図の再掲
おまけ • 外れ値を消した箱ひげも 作成可能 • 通常はdotで表示される部 分を消した例 • データの一部が消えている ので確認が必須 • (sgplotだと) nooutliersオ プションを指定する…GTL での指定はちょっとわから ず…
プログラム • sasユーザー会での発表資料に添付のプログラムを一部改変し て作成したもの Violin_plot_addBoxPlot.sas
参考文献 • GTLでバイオリンプロットを作図する(3) 箱ひげ図を重ね書き する - Picolabs.jp • 2024/10/07 閲覧 • ランダム化比較試験における有害事象のSASによる視覚化(SAS ユーザー会2023 小山田、徳田)