大家是否記得之前有提到說若Kruskal-Wallis分析達顯著時,要進一步做事後比較呢?當時有跟各位提到可參考Elliott and Hynan(2011)所提供的SAS巨集來分析,因此這篇主要針對此巨集來做介紹。
先介紹這次分析用到的例子,這次主要想要瞭解不同術後類型(type)的病患在預後(outcome)恢復的情形是否有差異,患者術後類型變數分成「無感染(0)」、「血液感染(1)」、「懷疑感染(2)」,是一個類別變項;至於預後情形分為五個等級(1~5分),預後情形為順序變項,1分最差,5分最佳。
在分析之前,先請大家可到發表此巨集的作者所提供網頁下『http://www.alanelliott.com/kw/』,下載事後比較的巨集與SAS分析語法,如下圖紅色圈起來處。
接著在您電腦裡的C槽建立一個資料夾,名稱取『SASMACRO』,並將下載的『KW_MC.sas』丟入此資料夾內(如下圖)。
並打開下載來的另一個SAS語法『KW_MC_Example2.sas』,並開始進行編輯。
此處不對公式進行探討,若有興趣的讀者可參考曾大倫(2004)所翻譯的簡明生物統計學p367,此巨集所建立的公式是Dunn法事後比較修正過後的Q值。
(1)語法
若等一下沒有指定到的地方,請勿進行修改。
1.巨集存放位置
%INCLUDE"C:\SASMACRO\KW_MC.SAS";
宣告巨集所存放的位置,若有按照上面說明的步驟,此處則毋須修改
2.宣告資料
DATA NPAR; 指定資料集的名稱為NPAR,若沒必要則不用亂改,但假使真的改掉也沒關係,只要把下述關於資料集的名稱部份改成您指定的名稱。
INPUT type outcome @@; 指定讀入資料的變項名稱,@@則表示連續讀取,底下則接上輸入的資料;這邊您也可以用infile的方式讀入資料。
3.事後比較參數設定
%LET NUMGROUPS=3; 宣告組別個數,比例為3組
%LET DATANAME=NPAR; 宣告資料集名稱,如剛剛所提到,若您有指定資料集名稱,此處就需要變更
%LET OBSVAR=outcome; 宣告依變項,此處為outcome
%LET GROUP=type; 宣告自變項,也組是組別,此處為type
%LET ALPHA=0.05; 宣告顯著水準,本例設0.05
Title'Kruskal-Wallis Tied Ranks'; 宣告標題,可依研究者喜好更改
4.設定巨集用到的參數
只要第3點的『NUMGROUPS』、『DATANAME』、『OBSVAR』、『GROUP』、『ALPHA』沒去動到,此處則不用變更,可直接執行分析
(2)報表
1.敘述統計
列出3組人的人數、Sum of Rank(等級和)、Mean of Rank(等級平均)
2.Kruskal-Wallis one way ANOVA結果
卡方值為16.70,達顯著水準,表示3組人的預後情形有顯著差異,因此必須進一步進行Dunn法事後比較。
3.Dunn法事後比較
列出3組兩兩比較結果,
第一行Compare為進行比較的配對組和,ex:0 vs 1,表示第0組與第1組做比較。
第二行Diff為兩組的等級平均差異,ex:23.64,表示第0組等級平均(66.86)與第1組等級平均(43.23)的差值。
第三行SE為兩組的標準誤。
第四行q為檢定統計量q值,q=Diff / SE,若q值大於臨界值q(0.05),則代表有顯著差異,ex:3.74 > 2.394,表示「無感染(0)」與「血液感染(1)」在預後分數上有顯著差異存在,最後再從等級平均看是哪一組分數比較高,以本例來說是「無感染(0)」的分數比較高,也代表預後情形較佳。
第五行為臨界值,此臨界值會隨組數與顯著水準的改變而不同。
第六行Conclude為結論,Reject為有顯著差異,最好直接用q與臨界值自己判斷。
參考文獻
曾大倫譯(2004)。簡明生物統計學(原著:Glantz, S. A.)。臺北:麥格羅希爾。
Elliott, A. C., & Hynan, L. S. (2011). A SAS macro implementation of a multiple comparison post hoc test for a Kruskal–Wallis analysis. Computer Methods and Programs in Biomedicine, 102(1), 75-80.