R語言單一樣本t檢定
R語言單一樣本t檢定

本篇內容包括:

  • 實作單一樣本t檢定
  • 實作獨立樣本t檢定
  • 測試變異數相同的Levene檢定
  • 實作成對樣本t檢定

在這裡並沒有要細說統計相關理論,這幾篇的教學分享文所著重的在於「用R語言來實作SPSS統計功能」,因此統計相關知識就變成是基礎了,我們只是藉由RStudio這個工具,來呈現統計分析,當然這時候需要的知識就缺一不可了;相關基礎統計知識可以自行Google、wikipedia、閱讀相關統計書籍或請教統計專門老師。

單一樣本t檢定

接下來讓我們來看一個實務應用價值很高的統計t檢定,從研究的角度來看,最常見的也最需要的是針對兩個組進行比較。常用在前後的比較,例如:藥物是否有效、改變製程後的良率或兩種教學方法哪一個比較有效…等。

雙尾單一樣本t檢定

案例:若該銀行行長欲檢定其客戶平均存款是否不同於440萬元

H0:客戶平均存款等於440萬元(μ=440)

H1:客戶平均存款不等於440萬元(μ≠440)

函數:t.test(x, y = NULL, alternative = c(“two.sided”, “less”, “greater”), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, …)

案例是雙尾檢定,因此只要設定資料來源為column(存款),mu值為440,就完成了。

t.test(saledata$存款,mu=440)

R語言雙尾單一樣本t檢定
R語言雙尾單一樣本t檢定

案例:若銀行客戶的樣本資料存款平均值為422萬元,該銀行宣稱其客戶平均存款大於400萬元。(想想看用什麼函數可以找出存款平均值為多少?)

H0:客戶平均存款未大於400萬元(μ≤400)

H1:客戶平均存款大於400萬元(μ>400)

案例為單尾檢定,設定資料來源為column裡的存款,mu值為400,就完成了。

t.test(saledata$存款,mu=400)

R語言雙尾單一樣本t檢定
R語言雙尾單一樣本t檢定

但現在得到的是雙尾的p-value,真正的p-value要再除以2,才是真正的值。

那麼在R語言中,是不是一定要跟使用SPSS時一樣,單尾就是把雙尾用人工方式再除以2呢?

單尾單一樣本t檢定

事實上,並不一定,只要額外設定alternative=c(“greater”),就會變成檢定大於某一個值的有方向的單尾檢定,也就不需要再人工將p-value除以2了。

t.test(saledata$存款,mu=400,alternative=c("greater"))

R語言單尾單一樣本t檢定
R語言單尾單一樣本t檢定

獨立樣本t檢定

檢驗兩個總體的均值是不是一樣。

案例: 比較銀行客戶之平均存款,是否因性別而有所不同。

H0:女性客戶平均存款與男性客戶平均存款無差異(μ0-μ1=0)

H1:女性客戶平均存款與男性客戶平均存款有差異(μ0-μ1≠0)

分組:性別

t.test(saledata$存款 ~ saledata$性別)

獨立樣本t檢定
獨立樣本t檢定

測試變異數相同的Levene檢定

但因為獨立樣本t檢定,有分成兩種,分別是兩母體變異數相等和不相等;而t檢定預設兩母體變異數不相等(var.equal = FALSE)的情況下,所跑出來的,那我們怎麼知道變異數到底相不相等呢!

就需要使用測試變異數相同的Levene檢定,但這個檢定並沒有預設載入的R語言裡面,因此需要另外導入套件car。

套件:car

函數: leveneTest(y, group, center=median, )

預設是使用中位數,改設定為均值mean;否則雖然結果是一樣的,但是p-value卻是不一樣的。

leveneTest(saledata$存款,saledata$性別,center = mean)

如果出現這個錯誤訊息,表示性別欄裡面的值不是因子,可能是0和1,沒有轉換為男和女。轉換方法看用R語言來實作SPSS統計功能-比較平均數法

R語言測試變異數相同的Levene檢定-Warning message
R語言測試變異數相同的Levene檢定-Warning message
R語言測試變異數相同的Levene檢定
R語言測試變異數相同的Levene檢定

leveneTest結果p-value=0.1534 > 0.05,所以無法證明兩變異數不相同(指變異數相同)。

變異數相同的獨立樣本t檢定

另外加入var.equal = TRUE的參數。

t.test(saledata$存款 ~ saledata$性別,var.equal = TRUE)

變異數相同獨立樣本t檢定
變異數相同獨立樣本t檢定

結論:p-value=0.1389 > 0.05 ,所以無法證明男女客戶平均存款有差異。

成對樣本t檢定

通常像實驗組和對照組,比較前和比較後。

案例:台積科大為提昇學生數學能力,先抽取部分學生做為實驗對象,首先測驗其數學能力;測試完後實施數學強化教學一個月,並於施教完畢後再進行第二次數學能力測驗 · 試問該數學強化教學是否有效果?

H0:數學1-數學2≧0 (Δμ≧0)(第一次與第二次數學能力測驗差異平均值不小於零)
H1:數學1-數學2<0 (Δμ<0)(第一次與第二次數學能力測驗差異平均值小於零)

既然是成對樣本,那麼我們設定的參數為把預設paired = FALSE改為TRUE,就可以囉!

t.test(collegedata$數學1,collegedata$數學2,paired = TRUE)

成對樣本t檢定
成對樣本t檢定

p-value = 1.428e-06 / 2 = 0.000001426 / 2 < 0.05

或加上單尾的參數 alternative=c(“less”)

t.test(collegedata$數學1,collegedata$數學2,paired = TRUE,alternative=c("less"))

單尾成對樣本t檢定
單尾成對樣本t檢定

p-value = 7.14e-07 = 0.000000714 < 0.05

結論:第二次數學成績明顯比第一次高。

Ref: https://www.rdocumentation.org

回覆留言

Please enter your comment!
Please enter your name here