[SAS][R]費雪精確 Fisher Exact test 

by wenwu
0 comment

[SAS][R]費雪精確 Fisher Exact test 

前幾篇講到卡方檢定,[SAS]卡方檢定[R]卡方檢定
當樣本數很小(如20),或是超過20%的格子的觀測次數小於五,不宜用卡方檢定,這時候可以用,費雪精確 Fisher Exact test


lady tasting tea experiment

1935年費雪發表了一篇文章,提到這個有趣的實驗。有位女士提到,她可以輕易的辨別出來,將茶加到牛奶裡,還是將牛奶倒進茶裡。
費雪依照這位女士的說法做了一個實驗。他先準備了八杯奶茶,其中四杯是先放牛奶,另外四杯則是先放茶

上圖為實驗的結果,這位女士總共猜對了六杯,我們將這個實驗結果用於 SAS 和 R 上。


example for R

因為100%的儲存格都小於5,所以這裡並不適合用卡方檢定,使用費雪精確

範例檔中,茶先倒入表示為1,牛奶先倒入為2,
這位女士猜對了六杯,其中有兩杯是錯的
進行費雪精確性檢定後P值的雙尾檢定為0.4857
單尾檢定為0.4857/2=0.2429 不拒絕虛無假設, 
代表猜測與實際沒有顯著性差異

real <- c(rep(1,4),rep(2,4))
guess <- c(rep(1,3),rep(2,3),1,2)
table(real,guess)
fisher.test(table(real,guess))

example for SAS

SAS 的程式碼與卡方檢定非常相像,只需在斜槓後加上 fisher

proc freq data=tea;
table real * guess/nocol nopercent chisq fisher ; run;

下面三張圖為SAS的ouput ,結果與R 一樣
費雪精確性檢定後P值的雙尾檢定為0.4857
單尾檢定為0.2429 不拒絕虛無假設, 代表猜測與實際沒有顯著性差異

Related Articles

發表迴響