發表文章

目前顯示的是有「SAS-ODS GRAPHICS」標籤的文章

〔SAS〕使用SGPLOT繪散佈圖及程式巨集化

圖片
散佈圖(Scatter Plot、Scatter Diagram)亦稱為散布圖、相關圖等。目前在SAS繪製散佈圖有兩個較為簡單方法,一為使用PROC CORR,相關語法可見 SAS官網 的說明,用PROC CORR的方法相當簡單,而且同時會把人數、相關係數、檢定的P值呈現於圖中,但如要修改圖形或增加其他說明限制就很大了。 另一方法為本篇將分享的PROC SGPLOT,但限制為不會自動在圖形上呈現人數、相關係數和檢定的P值,此限制可透過巨集的幫忙而增加至圖形中,以PROC SGPLOT所繪統計圖,在之後需的編修彈性就高很多。 最後我們會把整組程式以改編為巨集程式,方便未來使用。 散佈圖(scatter plot)+橢圓圖(prediction ellipse)+迴歸線(regression line):

修改PROC LIFETEST以ODS所繪製存活曲線圖

圖片
『 用ODS GRAPHICS和PROC LIFETEST繪製存活曲線圖 (Survival Curve) 』從2010年以來已經有超過9千次的瀏覽量,雖然用ODS繪製Kaplan-Meier Survival Plot(後簡稱KM PLOT)非常方便,但缺點是如果需要修改圖中的樣式必須使用Graph Template Language(GTL)語法修改版模,不過GTL語法似乎真的有點難啊~~ 還好SAS很佛心的提供一系列的Macro和Macro Variable可以方便使用者修改「部分」的圖形元素。但是這一系列的寫法有些複雜和不直覺,而且只能修改「Survival plot」而 不支援「Failure plot」 ,如果你剛好需就讓我們一起學習看看吧! 先秀出經過修改後的KM PLOT。

〔SAS〕使用SGPLOT繪盒鬚圖

圖片
盒鬚圖 (Box Plot)亦稱為盒型圖。在SAS裡面盒鬚圖的說明可到SAS官網 說明文件 查看,簡單說盒子底部為Q1(第25百分位數),盒子內部中線為中位數,盒子上端為Q3(第75百分位數),盒子中間的符號通常為平均值。天線一般來說是1.5倍四分位距(intra-quartile range, IQR)中最小或最大值,而在天線外面的點一般為極端值(outlier)。 盒鬚圖如下:

〔SAS〕使用SGPLOT繪長條圖及折線圖

圖片
長條圖 (Bar Chart)亦可以稱為柱狀圖、條圖、條狀圖、棒形圖等,應該是非常使用的圖形,與 折線圖 (Line Chart)一起繪製於同一張圖上,稱為Bar-Line Chart。 這次要分享的為Bar-Line Chart,統計圖結果如下:

〔SAS〕以SGPANEL繪製熱圖組

圖片
本篇可以算是「 使用SGPLOT繪製熱圖(Heatmap) 」的加強版? 其實是把多張熱圖同時放在一張圖上而已啦。統計圖結果如下:

〔SAS〕使用SGPLOT繪製熱圖(Heatmap)

圖片
身旁許多朋友都認為SAS所繪製統計圖不美麗,語法也不好寫,許多年前新增的「ODS GRAPHICS」系列我想就是改善這些狀況,經過這幾年的強化,其功能和精美程度以非吳下阿蒙。 最近幫朋友做了一份資料(可惜無法把結果與大家分享),這份報告中使用了數個統計圖呈現結果,雖然不能將結果分享出來,但統計圖的語法倒是可以和大家切磋,希望能讓使用SAS的朋友從中獲得一些想法。 ODS GRAPHICS在網路上很容易找到說明,所以這次不會花太多時間說明每一個語法的功能,倒是大家可以實際操作一遍,會比較有感覺。 這次分享的是「熱圖(Heatmap)」,圖形結果如下:

使用ODS GRAPHICS和PROC LIFETEST繪製存活曲線圖 (Survival Curve)

圖片
太久沒寫有的沒有的SAS程式了,這次來寫寫關於Kaplan-Meier Estimate、Log-Rank Test及KM Plot的心得吧。 這篇主要的目的為兩個,如何使用PROC LIFETEST進行存活資料的的分析(跳過統計理論的部分), 另一個為使用SAS 9.2新的ODS GRAPHICS,快速產生勘用的存活機率圖,並將圖檔自動放入RTF(Rich Text Format)檔中。

使用SAS 9.2 繪製ROC曲線和比較

圖片
在2008年4月的時候,曾經寫過一篇 繪製ROC曲線和比較兩條ROC曲線下面積 的小文章,這篇是以MACRO來畫圖和比較,而在新版的SAS 9.2中已經可以於PROC LOGISTICS直接繪製高品質的ROC曲線(Receiver Operating Characteristic Curves, ROC Curves)。 在SAS 9.2中ODS GRAPHICS支援的程序增加許多,其中也包括PROC LOGISTICS。 先產生一筆虛擬的資料 data Age_data; input disease age bw@@; datalines; 0 50 65  0 39 61  0 21 70  0 61 67 0 30 55  0 35 63  0 25 52  0 41 66 0 43 52  0 36 54  0 37 46  0 25 61 0 41 53  0 62 55  0 28 70  0 33 68 1 52 45  1 49 61  1 47 42  1 62 31 1 55 67  1 70 61  1 75 55  1 77 52 1 81 68  1 64 53  1 62 41  1 39 57 1 61 51  1 61 55  1 57 49  1 79 67 ; run; 接下來就直接套用繪製的ROC曲線的語法 ods graphics on; proc logistic data=age_data plots(only)=(roc) rocoptions(id=prob) ; model disease (event='1')=age; run; ods graphics off; ods graphics on : 為宣告要繪製ods graphics的...

繪製ROC曲線和比較兩條ROC曲線下面積

圖片
SAS實用巨集簡介:繪製ROC曲線和比較兩條ROC曲線下面積 目的為介紹SAS官方網頁中關於ROC曲線的巨集(Macro)程式,程式分別為「繪製ROC曲線」和「以無母數方式比較兩條ROC曲線下面積」。本文中所提及之程式,僅為原作者的部分語法,詳細語法請見原文說明,兩篇原文出處連結如下: Sample 25017: Nonparametric comparison of areas under correlated ROC curves ( http://support.sas.com/kb/25/017.html )  roc.sas程式: http://support.sas.com/kb/25/addl/fusion_25017_6_roc.sas.txt Sample 25018: Plot ROC curve with labelled points for a binary-response model ( http://support.sas.com/kb/25/018.html )  rocplot.sas程式: http://support.sas.com/kb/25/addl/fusion25018_4_rocplot.sas.txt 請先將程式下載至本機硬碟中,建議將Sample 25017的程式取名為roc.sas,而Sample 25018的程式取名為rocplot.sas。必須要注意的是,如果是想比較兩條ROC曲線下面積,也就是roc.sas這個巨集程式,必須安裝SAS/IML。 繪製ROC曲線 在SAS說明檔中其實已經有介紹如何繪製出簡易的ROC曲線,但在我們諮詢的個案中比較常被問到的問題為,圖上的某個點其「原始數值為何」,利用rocplot.sas 便可輕鬆完成這個工作。 假設有一組資料,研究者想以年齡和某一個BW指標來判斷罹患某疾病的機會。 問題:繪製以年齡作為判斷此是否罹患此疾病的ROC曲線。 第一步: 先將資料讀入SAS中 data Age_data; input disease age bw@@; datalines; 0 50 65 0 39 61 0 21 70 0 61 67 0 30 55 0 35 63 0 25 72 0 41 66 0 43 52 0 36 54 0 37 76 0 25 61 0...