寫在前面
搬運自公眾號bioLinkx
t檢驗用于檢驗兩個總體均值是否一致,分為單樣本t檢驗枪蘑、獨立樣本t檢驗和配對樣本t檢驗更哄。
t檢驗適用條件:小樣本、正態(tài)分布腥寇、方差齊性
若是單獨樣本T檢驗,必須給出一個標(biāo)準(zhǔn)值或總體均值觅捆,同時赦役,提供一組定量的觀測結(jié)果,應(yīng)用t檢驗的前提條件是該組資料必須服從正態(tài)分布栅炒;若是配對樣本T檢驗掂摔,每對數(shù)據(jù)的差值必須服從正態(tài)分布术羔;若是獨立樣本T檢驗,個體之前相互獨立乙漓,兩組資料均取自正態(tài)分布的總體级历,并滿足方差齊性。
在進行t檢驗之前叭披,應(yīng)該對數(shù)據(jù)進行正態(tài)性檢驗和方差齊性檢驗寥殖。
單樣本t檢驗
單樣本t檢驗:用于樣本均數(shù)和已知總體均數(shù)之間的比較。
#某魚塘水的含氧量多年平均值為4.5mg/L,現(xiàn)在該魚塘設(shè)10點采集水樣涩蜘,測定水中含氧量(單位:mg/L)分別為:
#4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26嚼贡,問該次抽樣的水中含氧量與多年平均值是否有顯著差異?
Sites<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)
t.test(Sites,mu=4.5,alternative = "two.sided")
#mu:理論平均值,默認值為0
#alternative:備擇假設(shè)同诫。允許值為“two.sided”(默認)粤策,也可以根據(jù)需要設(shè)置為“greater”或“l(fā)ess”
One Sample t-test
data: Sites
t = -0.93574, df = 9, p-value = 0.3738
alternative hypothesis: true mean is not equal to 4.5
95 percent confidence interval:
4.230016 4.611984
sample estimates:
mean of x
4.421
p=0.37>0.05,故認為所抽樣水體的含氧量與多年平均值沒有明顯差異
配對樣本t檢驗
配對樣本t檢驗適用于配對資料的計量資料,主要有三種應(yīng)用情形:同質(zhì)受試對象分別接受兩種不同的處理误窖、同一受試對象分別接受兩種不同的處理叮盘、同一受試對象自身前后的對比。即配對樣本t檢驗用于樣品的兩個相關(guān)組之間霹俺。
例如柔吼,在一個月內(nèi)對20只小鼠進行藥物治療,想知道該藥物是否會對小鼠體重產(chǎn)生影響吭服。在藥物治療之前和治療之后分別測量20只小鼠的體重嚷堡,使用配對t檢驗比較治療前后的平均體重。
# 治療前小鼠體重
before <-c(15.4,25.3,25.6,34.7,28.8,18.9,30.0,36.7,25.8,27.7)
# 治療后小鼠的體重
after <-c(32.5,23.4,36.7,35.7,38.7,32.5,32.4,37.0,26.7,30.0)
# 創(chuàng)建數(shù)據(jù)框
my_data <- data.frame(
group = rep(c("before", "after"), each = 10),
weight = c(before, after)
)
print(my_data)
樣本量n<30艇棕,需要檢驗配對的差值是否服從正態(tài)分布
# 計算之前前后的差異
d <- with(my_data, weight[group == "before"] - weight[group == "after"])
#Shapiro-Wilk正態(tài)性檢驗差值是否符合正態(tài)分布
shapiro.test(d)
# p-value = 0.11
p>0.05蝌戒,表明差值(d)服從正態(tài)分布,可以使用配對t檢驗沼琉。
# 配對樣本t檢驗
res <- t.test(after,before, paired = TRUE)
# 顯示結(jié)果
res
Paired t-test
data: after and before
t = 2.7111, df = 9, p-value = 0.02395
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.9388936 10.4011064
sample estimates:
mean of the differences
5.67
p=0.024<0.05北苟,否定原假設(shè),并得出結(jié)論治療前小鼠的體重與治療后小鼠的體重顯著不同打瘪。
也可使用以下代碼:
res <- t.test(weight ~ group, data = my_data, paired = TRUE)
此外友鼻,若要檢驗治療前小鼠的體重是否小于治療后體重:
t.test(weight ~ group, data = my_data, paired = TRUE,alternative = "less")
若要檢驗治療前小鼠體重是否大于治療后體重:
t.test(weight ~ group, data = my_data, paired = TRUE,alternative = "greater"
獨立樣本t檢驗
兩獨立樣本t檢驗用于比較兩組獨立樣本間是否存在差異,但需要注意的是數(shù)據(jù)需滿足正態(tài)分布。
方差齊性:可以使用student-t檢驗方法比較兩組差異
方差不齊:使用校正的student-t檢驗方法,即Welch t檢驗比較兩組差異
###比較南北方身高差異
c1<-c(152,176,159,160,166,155,178,160,166,150)
c2<-c(165,158,166,168,160,180,169,180,170,175)
data<-c(c1,c2)
a <-factor(c(rep(1,10),rep(2,10)))
###Shapiro-Wilk正態(tài)性檢驗
with(my_data, shapiro.test(weight[group == "south"]))
#p-value = 0.4544
with(mydata, shapiro.test(weight[group == "north"]))
#p-value = 0.5992 兩組數(shù)據(jù)均符合正態(tài)分布
###方差齊性檢驗
res.ftest <- var.test(weight ~ group, data = mydata)
##p-value = 0.5148>0.05也物,因此認為兩組數(shù)據(jù)的方差之間沒有顯著差異(方差齊性)
兩組數(shù)據(jù)獨立左敌,呈正態(tài)分布且滿足方差齊性,可以使用student-t檢驗
res <- t.test(weight ~ group, data = mydata, var.equal = TRUE)
###方差不齊時使用Welch檢驗,var.equal = FALSE
Two Sample t-test
data: weight by group
t = 1.8152, df = 18, p-value = 0.0862
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.086268 14.886268
sample estimates:
mean in group north mean in group south
169.1 162.2
p=0.0892>0.05,可以得出結(jié)論,南北方身高沒有差異匿沛。
參考鏈接