各位小伙伴們大家好,今天是我們的系列推文“各類統(tǒng)計方法R語言實現(xiàn)”第二篇鳄厌,今天介紹的主要內(nèi)容有:正態(tài)性檢驗又谋、方差齊性檢驗拼缝、t檢驗、近似t檢驗彰亥。
t檢驗
此處選用的數(shù)據(jù)集仍是R語言自帶的mtcar數(shù)據(jù)集咧七,具體介紹見上次推文:各類統(tǒng)計方法R語言實現(xiàn)(一) t檢驗按照實驗設計可分為:
1、單樣本t檢驗:已知樣本均數(shù)與總體均數(shù)比較任斋,總體均數(shù)一般為理論值继阻、標準值等。
2废酷、配對樣本t檢驗:配對設計的計量資料瘟檩。
3、兩獨立樣本t檢驗:完全隨機設計兩樣本均數(shù)的比較澈蟆。 其中單樣本t檢驗需要總體數(shù)據(jù)需要服從正態(tài)分布墨辛、配對樣本t檢驗需要每對數(shù)據(jù)差值的總體服從正態(tài)分布、兩獨立樣本t檢驗需要滿足兩總體服從正態(tài)分布且方差齊趴俘。
因此進行兩獨立樣本t檢驗之前睹簇,需要進行正態(tài)性檢驗和方差齊性檢驗奏赘,若不服從正態(tài)分布,可考慮使用非參數(shù)檢驗太惠;若服從正態(tài)分布但不服從方差齊性志珍,則可使用近似t檢驗。
data(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
#計算描述統(tǒng)計分析
mtcars$cyl<-as.factor(mtcars$cyl)
mtcars$vs<-as.factor(mtcars$vs)
mtcars$am<-as.factor(mtcars$am)
mtcars$gear<-as.factor(mtcars$gear)
mtcars$carb<-as.factor(mtcars$carb)
#計算描述統(tǒng)計分析
summary(mtcars)
## mpg cyl disp hp drat
## Min. :10.40 4:11 Min. : 71.1 Min. : 52.0 Min. :2.760
## 1st Qu.:15.43 6: 7 1st Qu.:120.8 1st Qu.: 96.5 1st Qu.:3.080
## Median :19.20 8:14 Median :196.3 Median :123.0 Median :3.695
## Mean :20.09 Mean :230.7 Mean :146.7 Mean :3.597
## 3rd Qu.:22.80 3rd Qu.:326.0 3rd Qu.:180.0 3rd Qu.:3.920
## Max. :33.90 Max. :472.0 Max. :335.0 Max. :4.930
## wt qsec vs am gear carb
## Min. :1.513 Min. :14.50 0:18 0:19 3:15 1: 7
## 1st Qu.:2.581 1st Qu.:16.89 1:14 1:13 4:12 2:10
## Median :3.325 Median :17.71 5: 5 3: 3
## Mean :3.217 Mean :17.85 4:10
## 3rd Qu.:3.610 3rd Qu.:18.90 6: 1
## Max. :5.424 Max. :22.90 8: 1
正態(tài)性檢驗
使用Shapiro-Wilk法
shapiro.test(mtcars$mpg)
##
## Shapiro-Wilk normality test
##
## data: mtcars$mpg
## W = 0.94756, p-value = 0.1229
可以看到結果中p>0.05垛叨,服從正態(tài)分布伦糯。
還可使用圖示法,繪制QQ圖,加上95%置信區(qū)間
##繪制QQ圖
library(car)
## Loading required package: carData
qqPlot(lm(mpg~am,data = mtcars),stimulate = TRUE, main="qq plot", col="blue", col.lines="red")
## Toyota Corolla Maserati Bora
## 20 31
結果大致呈一條直線,數(shù)據(jù)落在95%置信區(qū)間范圍內(nèi)則說明大致服從正態(tài)分布
方差齊性檢驗
方差齊性檢驗的方法有很多嗽元,本節(jié)主要介紹以下三種:
Bartlett檢驗:需要數(shù)據(jù)服從正態(tài)分布 Levene檢驗:不依賴總體分布具體形式敛纲,更為穩(wěn)健。 Fligner-Killeen檢驗:不依賴總體分布具體形式剂癌。
##繪制箱線圖淤翔,
plot(mpg~am,data = mtcars)
##Bartlett檢驗
bartlett.test(mpg~am,data = mtcars)
##
## Bartlett test of homogeneity of variances
##
## data: mpg by am
## Bartlett's K-squared = 3.2259, df = 1, p-value = 0.07248
可以看到結果中p>0.05,方差齊佩谷。
##Levene檢驗
leveneTest(mpg~am,data = mtcars)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 4.1876 0.04957 *
## 30
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
可以看到結果中p<0.05旁壮,方差不齊。
##Fligner-Killeen檢驗
fligner.test(mpg~am,data = mtcars)
##
## Fligner-Killeen test of homogeneity of variances
##
## data: mpg by am
## Fligner-Killeen:med chi-squared = 4.4929, df = 1, p-value = 0.03404
可以看到結果中p<0.05谐檀,方差不齊抡谐。
t檢驗
##單樣本t檢驗,mu表示的是總體平均數(shù)
t.test(mtcars$mpg,mu=20)
##
## One Sample t-test
##
## data: mtcars$mpg
## t = 0.08506, df = 31, p-value = 0.9328
## alternative hypothesis: true mean is not equal to 20
## 95 percent confidence interval:
## 17.91768 22.26357
## sample estimates:
## mean of x
## 20.09062
p>0.05桐猬,表示已知樣本均數(shù)與總體均數(shù)相等
##配對t檢驗
length(mtcars$mpg)
## [1] 32
mpg1<-mtcars$mpg
mpg2<-mtcars$mpg+rnorm(32, mean = 5, sd = 1)
t.test(mpg1,mpg2,paired = T)
##
## Paired t-test
##
## data: mpg1 and mpg2
## t = -38.226, df = 31, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -4.962350 -4.459653
## sample estimates:
## mean of the differences
## -4.711002
p<0.05麦撵,結果有統(tǒng)計學差異
##兩獨立樣本t檢驗
t.test(mpg~am,data = mtcars, paired = FALSE, var.equal = T)
##
## Two Sample t-test
##
## data: mpg by am
## t = -4.1061, df = 30, p-value = 0.000285
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -10.84837 -3.64151
## sample estimates:
## mean in group 0 mean in group 1
## 17.14737 24.39231
##兩獨立樣本近似t檢驗(Welch法)
t.test(mpg~am,data = mtcars, paired = FALSE, var.equal = F)
##
## Welch Two Sample t-test
##
## data: mpg by am
## t = -3.7671, df = 18.332, p-value = 0.001374
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -11.280194 -3.209684
## sample estimates:
## mean in group 0 mean in group 1
## 17.14737 24.39231
##以上代碼整理匯總
p1<-shapiro.test(mtcars$mpg[mtcars$am == 0])$p.value
p2<-shapiro.test(mtcars$mpg[mtcars$am == 1])$p.value
varp3<-leveneTest(mpg~am,data = mtcars)$`Pr(>F)`[1]
ifelse(p1>0.05|p2>0.05,
ifelse(varp3>0.05,t.test(mpg~am,data = mtcars, paired = FALSE, var.equal = T)$p.value,
t.test(mpg~am,data = mtcars, paired = FALSE, var.equal = F)$p.value),
wilcox.test(mpg~am,data = mtcars,correct = FALSE)$p.value)
## [1] 0.001373638
ifelse(p1>0.05|p2>0.05,
ifelse(varp3>0.05,print("兩獨立樣本t檢驗"),
print("兩獨立樣本近似t檢驗(Welch法)")),
print("wilcox秩和檢驗"))
## [1] "兩獨立樣本近似t檢驗(Welch法)"
## [1] "兩獨立樣本近似t檢驗(Welch法)"
可以看到此處輸出的是兩獨立樣本近似t檢驗(Welch法)的結果。
好了溃肪,今天的R語言實現(xiàn)統(tǒng)計方法系列推文暫時告一段落免胃,我們下次再見吧!