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

前一篇文章用R語言來實作SPSS統計功能(1)-比較平均數法
下一篇文章用R語言來實作SPSS統計功能(3)-ANOVA單因子變異數分析
學經歷 淡江大學資訊管理研究所 諸銘科技軟體發開部經理與教育事業部總監 專長 網路創業、網路行銷、創業貸款、個資保護、資訊安全、程式設計(ASP.NET VB.NET MVC C# Core 6) 資安與個資證照:CompTia Security+ , ISO 27701。 演講與課程經歷 工研院講師 勞動部微型創業鳳凰貸款顧問 台北市社會局 衛福部中央健保署 新北市政府勞工局 管科會 中國生產力中心 中衛中心 中山管理教育基金會 中華軟協 南科產協 青創會 青創會內訓 臺北青年職涯發展中心 經濟部樂活創業人才班 中小企業總會 外貿協會 高雄醫學大學 雲林科技大學 台北醫學大學 銘傳大學 明新科大 中台科大 台灣科技大學 師範大學 大葉大學 台北城市大學 聖約翰科技大學 萬能科技大學 輔英科大 明新科大 美和科大 嘉南藥理大學 東南科大 亞太創意技術學院 格致商工 霧峰農工 三重商工 新店戒護所 台南就業處 台灣知識庫 台北景福扶輪社 富邦人壽 台北國際書展

回覆留言

Please enter your comment!
Please enter your name here