Share via


皮爾森卡方檢定(Pearson's chi-squared test)

先複習一下卡方獨立性檢定:

可以從下面例題練習如何用R來操作卡方獨立性檢定,Sample Data為罹患肺癌與否/患者每日吸菸數量的統計資料。
在R中輸入一個matrix:

 cancer<-matrix(data=c(33,250,196,136,32,55,293,190,71,13),nrow=2,ncol=5,byrow=T)

上面這行就是把c(...)這個Vector當作cancer這個matrix的資料,然後指定cancer這個matrix是2列x5行的矩陣,data的順序是by-row,也就是從row1開始填資料,row1填完再填row2。
輸入完後,檢查一下資料:
> cancer 

      [,1] [,2] [,3] [,4] [,5]
[1,]   33  250  196  136   32
[2,]   55  293  190   71   13

接下來幫行跟列命名: 

 dimnames(cancer)<-list(c("肺癌患者","控制組"),c("1 to 4","5 to 14","15 to 24","25 to 49","50+"))

然後看一下長條圖長怎樣:

 barplot(cancer, beside=T, legend.text=T, xlab="每日吸菸量(幾根)", ylab="Number of cases")

 

(每個function的argument是做甚麼用的,我就不詳述,在RStudio裡面查Help都很清楚)

接下來做皮爾森卡方檢定:

 chisq.test(cancer)

結果是:

   Pearson's Chi-squared test

data:  cancer
X-squared = 36.9531, df = 4, p-value = 1.842e-07

也就是X^2值為36.9531,自由度為4,p-value為0.0000001842。

假設這題我們要求的是在95%信心水準下,罹患肺癌者與未罹患肺癌者兩個類別的數值(案例)是否獨立。則因為p-value小於0.05,所以拒絕虛無假設 => 每天吸多少菸與罹癌與否有關。

若要用比較X^2值大小的方法(X^2的意義是「樣本的觀察次數」與「估計的理論次數」的差異),則α=0.05、df=4下查表值為9.487728,36.9531>9.487728,所以也是拒絕虛無假設。

如果要知道更多檢定的結果,可以再繼續下以下指令:

 cancer.chisq = chisq.test(cancer)
names(cancer.chisq)
cancer.chisq$residuals
cancer.chisq$observed
cancer.chisq$expected
cancer.chisq$stdres

這幾行就BJ4了,試試看就知道了~