T檢定主要用於檢定某一樣本統計量是否與總體參數相等,在實際應用中,最常見的有三種方法:獨立樣本t檢定、成對樣本t檢定和單一樣本t檢定。本篇文章主要介紹成對樣本t檢定- R語言的操作,細節如下所述。

#補充:如何選定檢定統計量

拿到資料時得先判斷裡頭是否有母體資料,以及可以取得的樣本數大小。
接著再判斷使用哪種檢定統計量:

Z檢定

  1. 在母體的標準差已知,樣本數低於30以下。
  2. 在母體的標準差已知,樣本數超過30以上。
  3. 在母體的標準差未知,樣本數超過30以上。

t檢定

  1. 在母體的標準差未知,樣本數低於30以下。

一、適用條件

使用成對樣本t檢定需要滿足六個條件:

條件1:變數為連續變數。

條件2:變數為相依性(資料之間彼此相關)。

條件3:變數可分為兩組。

條件4:變數沒有離群值。

#補充:Outlier(異常值或離群值):超過最小值(Q3+1.5 IQR)或最大值(Q1-1.5 IQR)的數值。

條件5:兩組變數的差值為常態分配或輕微的偏態(圖一)。

條件6:兩組變數之間存在相關性。

圖1 常態分配、偏態分配(正偏態、負偏態)

二、成對樣本t檢定

(1) 計算公式

成對樣本t檢定(Paired-Sample t Test)是適用於相依樣本,最常用在相依樣本下的重複量測設計,也就是同一個樣本,前後量測二次,例如:一群數學資優班學生,在入學前與入學一年後智力測驗分數是否有差異。其檢定的統計量為:

公式來源 : 蕭文龍(2016),《統計分析入門與應用:SPSS中文版+SmartPLS 3 (PLS_SEM)》,台北:碁峯資訊

(2) 假設檢定

虛無假設(Null hypothesis)→ H0:u1=u2 無顯著差異

對立假設(alternative hypothesis)→ H1:u1≠u2 有顯著差異

 

三、R語言操作範例

(一) 範例介紹

一群數學資優班學生,在入學前與入學一年後智力測驗分數是否有差異?

研究假設如下:

虛無假設→ H0:uD =0 即入學前/後對智力測驗分數的結果無影響;

對立假設→ H1:uD >0 即入學前/後對智力測驗分數的結果有影響。

α = 0.05

(二) 資料匯入

pairdata<-read.csv(“score-3.csv”,header=T)

# read.csv ():將資料匯入到指定的變數,也就是pairdata

View(pairdata)

# View():瀏覽資料內容

=>根據執行結果:在資料集中共有3個變數和21個觀察資料,3個變數分別為資優生的編號(No)、入學前的分數(Before)、入學一年後的分數(After)。

(三) 適用條件判定

1. 本範例的智力測驗分數為連續變數,滿足適用條件1「變數為連續變數」。

2. 本範例的智力測驗分數均是對同一批資優生測試來的,因此變數互為相依性,滿足適用條件2「變數為相依性」。

3. 本範例分為入學前和入學一年後兩組,滿足適用條件3「變數可分為2組」。

4. 離群值檢測

這裡的檢測方式採用箱型圖,來判別資料內是否存在離群值。

#補充:箱型圖(Box plot)

主要是用來顯示數據分佈情況。其組成要素為最小值、第一四分位數、中位數、第三四分位數以及最大值。

箱型圖能夠顯示出離群值(outlier),離群值也叫做異常值,通過箱型圖能夠很容易識別出資料中的異常值。

圖2 箱型圖

(1) 查看最大值和最小值

summary(pairdata$Before)  #Before的描述型統計資訊

summary(pairdata$After)  #After的描述型統計資訊

=>根據執行結果:從描述型統計資訊(Min(最小值)、1st Qu(第一四分位數)、Median(中位數)、Mean(平均值)、3rd Qu(第三四分位數)和Max(最大值))中得知,可判斷智力測驗分數均可能在53到100之間。

(2) 查看遺漏值情況

is.na(pairdata$Before)  #檢查Before是否有遺漏值

is.na(pairdata$After)  #檢查After是否有遺漏值

=>根據執行結果:都沒有遺漏值。

(3) 分組繪製箱型圖

par(mfrow = c(1, 2))  #設置畫1行2個圖片

boxplot(pairdata$Before, xlab = “Before”, ylab = “Score”)  #繪製Before的箱型圖

boxplot(pairdata$After, xlab = “After”, ylab = “Score”)  #繪製After的箱型圖

圖3 Before和After的箱型圖

=>根據執行結果:箱型圖內無顯示任何離群值,即滿足適用條件4「變數沒有離群值」。

5. 常態性檢定

這裡的檢測方式採用分位圖(Q-Q圖)和Shapiro-Wilk檢定來做是否為常態分配。

#補充:分位圖(Q-Q圖)

是一種視覺化比較兩項數據的分佈是否相同的方法。

另外,Q-Q Plot不是只有判斷「是否為直線」或者「是否為常態分配」,即使畫出來的不是直線,還是能看出資料分配的特性。

從圖1 中可以看到Q-Q Plot在左偏與右偏分配會呈現的樣子:

圖4 不同數值分配下的不同 Q-Q Plot(Source: Manny Gimond

(1) 分組繪製Q-Q圖:

d <- pairdata$Before – pairdata$After  #計算兩組間差值

qqnorm(d)  #繪製Q-Q圖

qqline(d)  #增加趨勢線

圖5 分組的Q-Q圖

=>根據執行結果:資料點基本上都圍繞對角線分佈,表示資料呈常態分配。

#補充:使用S-W檢定的原因

要進行常態性檢定有兩種方法K-S檢定或S-W檢定,因樣本數的關係而選擇使用S-W檢定。

Kolmogorov-Smirnov(K-S)檢定:樣本數50個以上。

Shapiro-Wilk(S-W)檢定:樣本數50個以下。

(2) 分組做常態性檢定:

shapiro.test(d)   # Shapiro-Wilk常態性檢定

=>根據執行結果:常態性檢定的P值為0.4278 > 0.1,表示資料呈常態分配。

結合(1)(2)的結果,表示資料滿足適用條件5「變數的差值為常態分配」。

(四) 統計描述及推斷

  1. 描述性分析

install.packages(“psych”)  #安裝套件:psych

library(psych)  #載入套件:psych

describe(pairdata$Before)  #描述Before的集中和離散趨勢

describe(pairdata$After)  #描述After的集中和離散趨勢

=>根據執行結果:顯示各組變數的統計量,包括:vars(第幾個變數)、n (樣本量)、mean (平均數)、sd (標準差)、median (中位數)、trimmed(截尾均值)、絕對中位差(mad)、min(最小值)、max(最大值)、range(值域)、skew(偏度)、kurtosis(峰度)和se(標準誤差平均數)。

可知入學前的分數為77.38±12.46,入學一年後的分數為76.14±11.07。

  1. 成對樣本T檢定

t.test(pairdata$Before, pairdata$After, paired = TRUE)

# pairdata$Before, pairdata$After代表資料組x, y

# alternative設定對立假設,可以為two.sided, less, greater三個種類,因預設為alternative=two.sided,在此省略。

# paired = 用來設定是否需要成對樣本t檢定

=>根據執行結果:t =0.72769、p-value =0.4752未達顯著水準 (P>0.01),接受虛無假設。

可知數學資優班學生,在入學前與入學一年後智力測驗分數是無顯著的差異。

(五) 相關性檢定

這裡的檢定方式採用散佈圖及Pearson相關性檢定來判別資料之間,是否有相關聯性。

#補充:散佈圖(Scatter Plot)

是表示兩個變數之間關係的圖,又稱相關圖。

依下列(A)~(F)的判斷方式,檢視是否為不相關。

圖6 散佈圖的判斷方式

  1. 繪製散佈圖

plot(pairdata$Before, pairdata$After, xlab = “Before”, ylab = “After”)  #繪製散佈圖

abline(lm(pairdata$After ~ pairdata$Before))

# abline():給圖形增加趨勢線

# lm(應變數(通常用Y來表示)~自變數(通常用X來表示), 資料來源):建構線性回歸模型

圖7 Before與After的散佈圖

=>根據執行結果:兩組之間呈線性關係(正相關)。

#補充:使用Pearson做相關性原因

處理相關性有三種檢定方式:Pearson相關性分析、Spearman等級相關性分析、Kendall’s Tau-b等級相關性分析。

以目前的條件:變數為連續變數、線性關係、無離群值、常態分配 è符合Pearson相關性分析的4個適用條件。

#補充:皮爾森相關分析的相關說明可參考:

https://www.yongxi-stat.com/pearson-correlation/

https://www.yongxi-stat.com/pearson-correlation-analysis-r/

  1. Pearson相關性檢定

cor.test(pairdata$Before, pairdata$After, method=”pearson”)  #相關性檢定

=>根據執行結果:兩組Pearson相關係數r=0.7867382 (95%CI:0.54-0.91),P<0.001,表示兩組資料之間存在相關性(高度相關)。

也就是說,入學前和入學一年後之間的分數差異變化有一致性,此結果滿足適用條件6「兩組變數之間存在相關性」。

  1. 結合1.和2.的結果,繪製相關性檢定結果的散佈圖

install.packages(“ggplot2”)  #安裝套件:ggplot2

library(ggplot2)  #載入套件:ggplot2

install.packages(“ggpubr”)  #安裝套件:ggpubr

library(ggpubr)  #載入套件:ggpubr

ggplot(data = pairdata, aes(x=pairdata$Before,y=pairdata$After)) +

geom_point(color=”red”) +

stat_smooth(method=”lm”,se=TRUE) +

stat_cor(data=pairdata, method = “pearson”)  #繪製相關性檢定結果的散佈圖

圖8 相關性檢定結果的散佈圖

=>根據執行結果:在圖中標記相關性檢定結果的散佈圖,顯示更為直觀,可以選擇性使用。

# 補充:相關性檢定是為了驗證配對資料的一致性,其可能的四種情況:

  1. 相關性檢定與成對樣本t檢定的P值均<0.05

表示資料在兩組間具備一致性,且有顯著的差異,而且差異的產生就是研究因素作用的結果。

  1. 相關性檢定的P值>0.05,成對樣本t檢定的P值<0.05

表示資料在兩組間存在差異,但平均數差異變化不一致,平均數差異可能還受其他因素的影響。

  1. 相關性檢定的P值<0.05,成對樣本t檢定的P值>0.05

表示資料在兩組間變化有一致性,但平均數差異不顯著,即研究因素未發揮作用。

  1. 相關性檢定與成對樣本t檢定的P值均>0.05

表示資料在兩組間不具備一致性,且無顯著的差異。

=>本範例為第3種情況。

四、結論

本研究採用成對樣本t檢定判斷在入學前與入學一年後智力測驗分數是否有差異。

透過箱型圖顯示兩組資料無離群值、Q-Q圖和Shapiro-Wilk檢定顯示兩組資料的差值呈現常態分配。

根據執行結果顯示,入學前與入學一年後在智力測驗分數分別為77.38±12.46和76.14±11.07,入學前平均值比入學一年後高1.24 (95%CI:-2.311~4.787),無顯著的差異(t=0.728,P>0.01)。兩組Pearson相關係數r=0.787,P<0.001;表示入學前和入學一年後之間的分數差異變化有一致性。因此,在入學前所做的智力測驗分數通常會比入學一年後的分數差不多。