假設(shè)檢驗(yàn)
在R的內(nèi)置函數(shù)中幾乎囊括了所有常用的假設(shè)檢驗(yàn),常用的假設(shè)檢驗(yàn)包括:
- 相關(guān)性分析包括Pearson相關(guān)系數(shù)雷袋、Spearman相關(guān)系數(shù)吉殃、Kendall相關(guān)系數(shù)等。
- 對于類別數(shù)據(jù)常用卡方獨(dú)立性檢驗(yàn)楷怒、Fisher精確檢驗(yàn)和Cochran-Mantel-Haenszel檢驗(yàn)等蛋勺。
- 對于定量數(shù)據(jù)常用參數(shù)檢驗(yàn)包括t檢驗(yàn),方差分析鸠删,Wilcoxon秩和檢驗(yàn)等抱完。
相關(guān)性分析
R可以計(jì)算多種相關(guān)系數(shù),包括Pearson相關(guān)系數(shù)刃泡、Spearman相關(guān)系數(shù)巧娱、Kendall相關(guān)系數(shù)碉怔、偏相關(guān)系數(shù)、多分格(polychoric)相關(guān)系數(shù)和多系列(polyserial)相關(guān)系數(shù)禁添。
> states<- state.x77[,1:6]
# 計(jì)算協(xié)方差矩陣
> cov(states)
Population Income Illiteracy Life Exp Murder HS Grad
Population 19931684 571230 292.868 -407.842 5663.52 -3551.51
Income 571230 377573 -163.702 280.663 -521.89 3076.77
Illiteracy 293 -164 0.372 -0.482 1.58 -3.24
Life Exp -408 281 -0.482 1.802 -3.87 6.31
Murder 5664 -522 1.582 -3.869 13.63 -14.55
HS Grad -3552 3077 -3.235 6.313 -14.55 65.24
# 計(jì)算相關(guān)性撮胧,默認(rèn)pearson
> cor(states)
Population Income Illiteracy Life Exp Murder HS Grad
Population 1.0000 0.208 0.108 -0.0681 0.344 -0.0985
Income 0.2082 1.000 -0.437 0.3403 -0.230 0.6199
Illiteracy 0.1076 -0.437 1.000 -0.5885 0.703 -0.6572
Life Exp -0.0681 0.340 -0.588 1.0000 -0.781 0.5822
Murder 0.3436 -0.230 0.703 -0.7808 1.000 -0.4880
HS Grad -0.0985 0.620 -0.657 0.5822 -0.488 1.0000
# 指定Spearman相關(guān)系數(shù)
> cor(states, method="spearman")
Population Income Illiteracy Life Exp Murder HS Grad
Population 1.000 0.125 0.313 -0.104 0.346 -0.383
Income 0.125 1.000 -0.315 0.324 -0.217 0.510
Illiteracy 0.313 -0.315 1.000 -0.555 0.672 -0.655
Life Exp -0.104 0.324 -0.555 1.000 -0.780 0.524
Murder 0.346 -0.217 0.672 -0.780 1.000 -0.437
HS Grad -0.383 0.510 -0.655 0.524 -0.437 1.000
在計(jì)算好相關(guān)系數(shù)以后,如何對它們進(jìn)行統(tǒng)計(jì)顯著性檢驗(yàn)?zāi)乩锨蹋砍S玫脑僭O(shè)為變量間不相關(guān)(即總體的相關(guān)系數(shù)為0)芹啥。你可以使用cor.test()
函數(shù)對單個(gè)的Pearson、Spearman和Kendall相關(guān)系數(shù)進(jìn)行檢驗(yàn)铺峭。
> cor.test(states[,3], states[,5])
Pearson's product-moment correlation
data: states[, 3] and states[, 5]
t = 7, df = 48, p-value = 1e-08
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.528 0.821
sample estimates:
cor
0.703
獨(dú)立性檢驗(yàn)
R提供了多種檢驗(yàn)類別型變量獨(dú)立性的方法墓怀。比較常用三種檢驗(yàn)分別為卡方獨(dú)立性檢驗(yàn)、Fisher精確檢驗(yàn)和Cochran-Mantel-Haenszel檢驗(yàn)卫键。
- 卡方檢驗(yàn)
> library(vcd)
> mytable <- xtabs(~Treatment+Improved, data=Arthritis)
> mytable
Improved
Treatment None Some Marked
Placebo 29 7 7
Treated 13 7 21
# 使用卡方檢驗(yàn)對類別變量進(jìn)行獨(dú)立性檢驗(yàn)傀履,假設(shè)變量之間無關(guān)
> chisq.test(mytable)
Pearson's Chi-squared test
data: mytable
X-squared = 13, df = 2, p-value = 0.001
# p值小于0.05拒絕原假設(shè),表明患者接受的治療和改善的水平看上去存在著某種關(guān)系
需要注意一些濫用卡方檢驗(yàn)的場景:
(1)當(dāng)樣本量較少(N<40)時(shí)永罚,需要使用fiser精確檢驗(yàn);
(2)或者有的列聯(lián)表資料本身是配對的(比較兩種檢測方法分別對兩組患者進(jìn)行檢測卧秘,由于患者同時(shí)接受了兩種方法的檢測呢袱,研究者關(guān)心的是兩種方法之間的一致性問題)可以使用Mcnemar卡方檢驗(yàn)或者kappa檢驗(yàn);
(3)對于等級資料又與其表示方法與分類資料類似翅敌,卡方檢驗(yàn)僅僅是回答"構(gòu)成比"或"率"上的差異是否具有統(tǒng)計(jì)學(xué)意義羞福,而不能回答效應(yīng)指標(biāo)強(qiáng)度高低問題,若使用卡方檢驗(yàn)則變成了兩組數(shù)據(jù)之間的"構(gòu)成比"是否存在明顯差異蚯涮,而無法明確"孰高孰低"的問題治专,這種情況可以將分級資料進(jìn)行秩轉(zhuǎn)換然后使用秩和檢驗(yàn)或者采用Riddit
分析
- Fisher精確檢驗(yàn)
可以使用fisher.test()函數(shù)進(jìn)行Fisher精確檢驗(yàn)。Fisher精確檢驗(yàn)的原假設(shè)是:邊界固定的列聯(lián)表中行和列是相互獨(dú)立的遭顶。其調(diào)用格式為fisher.test(mytable)张峰,其中的mytable是一個(gè)二維列聯(lián)表。需要注意棒旗,當(dāng)我們的數(shù)據(jù)樣本量小于40或者最小理論頻數(shù)小于5此時(shí)應(yīng)該使用Fisher精確檢驗(yàn)
> mytable <- xtabs(~Treatment+Improved, data=Arthritis)
# 默認(rèn)使用雙側(cè)檢驗(yàn)
> fisher.test(mytable)
Fisher's Exact Test for Count Data
data: mytable
p-value = 0.001
alternative hypothesis: two.sided
- Cochran-Mantel-Haenszel檢驗(yàn)
mantelhaen.test()
函數(shù)可用來進(jìn)行Cochran-Mantel-Haenszel卡方檢驗(yàn)喘批,其原假設(shè)是,兩個(gè)名義變量在第三個(gè)變量的每一層中都是條件獨(dú)立的铣揉。下列代碼可以檢驗(yàn)治療情況和改善情況在性別的每一水平下是否獨(dú)立饶深。
> mytable <- xtabs(~Treatment+Improved+Sex, data=Arthritis)
> mytable
, , Sex = Female
Improved
Treatment None Some Marked
Placebo 19 7 6
Treated 6 5 16
, , Sex = Male
Improved
Treatment None Some Marked
Placebo 10 0 1
Treated 7 2 5
> mantelhaen.test(mytable)
Cochran-Mantel-Haenszel test
data: mytable
Cochran-Mantel-Haenszel M^2 = 15, df = 2, p-value = 7e-04
組間差異的參數(shù)檢驗(yàn)
在研究中最常見的行為就是對兩個(gè)組進(jìn)行比較。接受某種新藥治療的患者是否較使用某種現(xiàn)有藥物的患者表現(xiàn)出了更大程度的改善逛拱?某種制造工藝是否較另外一種工藝制造出的不合格品更少敌厘?兩種教學(xué)方法中哪一種更有效?這里我們將關(guān)注結(jié)果變量為連續(xù)型的組間比較朽合,并假設(shè)其呈正態(tài)分布俱两。
- 獨(dú)立樣本的t檢驗(yàn)
與其他多數(shù)統(tǒng)計(jì)軟件不同的是饱狂,這里的t檢驗(yàn)?zāi)J(rèn)假定方差不相等,并使用Welch的修正自由度锋华。你可以添加一個(gè)參數(shù)var.equal=TRUE
以假定方差相等嗡官,并使用合并方差估計(jì)。默認(rèn)的備擇假設(shè)是雙側(cè)的(即均值不相等毯焕,但大小的方向不確定)衍腥。你可以添加一個(gè)參數(shù)alternative="less"
或alternative="greater"
來進(jìn)行有方向的檢驗(yàn)。
> library(MASS)
> head(UScrime)
M So Ed Po1 Po2 LF M.F Pop NW U1 U2 GDP Ineq Prob Time y
1 151 1 91 58 56 510 950 33 301 108 41 394 261 0.0846 26.2 791
2 143 0 113 103 95 583 1012 13 102 96 36 557 194 0.0296 25.3 1635
3 142 1 89 45 44 533 969 18 219 94 33 318 250 0.0834 24.3 578
4 136 0 121 149 141 577 994 157 80 102 39 673 167 0.0158 29.9 1969
5 141 0 121 109 101 591 985 18 30 91 20 578 174 0.0414 21.3 1234
6 121 0 110 118 115 547 964 25 44 84 29 689 126 0.0342 21.0 682
# 一個(gè)假設(shè)方差不等的雙側(cè)檢驗(yàn)纳猫,比較了南方(group 1)和非南方(group 0)各州的監(jiān)禁概率
> t.test(Prob ~ So, data=UScrime)
Welch Two Sample t-test
data: Prob by So
t = -4, df = 25, p-value = 7e-04
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.0385 -0.0119
sample estimates:
mean in group 0 mean in group 1
0.0385 0.0637
- 非獨(dú)立樣本的t檢驗(yàn)
較年輕(14-24歲男性的失業(yè)率是否比年長35-39歲男性的失業(yè)率更高婆咸?在這種情況下,這兩組數(shù)據(jù)并不獨(dú)立芜辕。你不能說亞拉巴馬州的年輕男性和年長男性的失業(yè)率之間沒有關(guān)系尚骄。在兩組的觀測之間相關(guān)時(shí),你獲得的是一個(gè)非獨(dú)立組設(shè)計(jì)(dependentgroups design)侵续。前-后測設(shè)計(jì)(pre-post design)或重復(fù)測量設(shè)計(jì)(repeated measures design)同樣也會產(chǎn)生非獨(dú)立的組倔丈。
> library(MASS)
> sapply(UScrime[c("U1","U2")], function(x)(c(mean=mean(x),sd=sd(x))))
U1 U2
mean 95.5 33.98
sd 18.0 8.45
# 指定paired進(jìn)行配對樣本的t檢驗(yàn)
> with(UScrime, t.test(U1, U2, paired=TRUE))
Paired t-test
data: U1 and U2
t = 32, df = 46, p-value <2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
57.7 65.3
sample estimates:
mean of the differences
61.5
方差分析的內(nèi)容較多在后面做單獨(dú)介紹
組間差異的非參數(shù)檢驗(yàn)
- 兩組比較
如果數(shù)據(jù)無法滿足t檢驗(yàn)或ANOVA的參數(shù)假設(shè),可以轉(zhuǎn)而使用非參數(shù)方法状蜗。舉例來說需五,若結(jié)果變量在本質(zhì)上就嚴(yán)重偏倚或呈現(xiàn)有序關(guān)系,可以使用Wilcoxon秩和檢驗(yàn)(Mann-Whitney U檢驗(yàn))
> wilcox.test(Prob ~ So, data=UScrime)
Wilcoxon rank sum test
data: Prob by So
W = 81, p-value = 8e-05
alternative hypothesis: true location shift is not equal to 0
Wilcoxon符號秩檢驗(yàn)是非獨(dú)立樣本t檢驗(yàn)的一種非參數(shù)替代方法轧坎。它適用于兩組成對數(shù)據(jù)和
無法保證正態(tài)性假設(shè)的情境宏邮。調(diào)用格式與Mann-Whitney U檢驗(yàn)完全相同,不過還可以添加參數(shù)
paired=TRUE缸血。
> with(UScrime, wilcox.test(U1, U2, paired=TRUE))
Wilcoxon signed rank test with continuity correction
data: U1 and U2
V = 1128, p-value = 2e-09
alternative hypothesis: true location shift is not equal to 0
- 多組比較
在要比較的組數(shù)多于兩個(gè)時(shí)蜜氨,必須轉(zhuǎn)而尋求其他方法。如果無法滿足ANOVA設(shè)計(jì)的假設(shè)捎泻,那么可以使用非參數(shù)方法來評估組間的差異飒炎。如果各組獨(dú)立,則Kruskal-Wallis檢驗(yàn)將是一種實(shí)用的方法笆豁。如果各組不獨(dú)立(如重復(fù)測量設(shè)計(jì)或隨機(jī)區(qū)組設(shè)計(jì))厌丑,那么Friedman檢驗(yàn)會更合適。
> states <- data.frame(state.region, state.x77)
> head(states)
state.region Population Income Illiteracy Life.Exp Murder HS.Grad Frost Area
Alabama South 3615 3624 2.1 69.0 15.1 41.3 20 50708
Alaska West 365 6315 1.5 69.3 11.3 66.7 152 566432
Arizona West 2212 4530 1.8 70.5 7.8 58.1 15 113417
Arkansas South 2110 3378 1.9 70.7 10.1 39.9 65 51945
California West 21198 5114 1.1 71.7 10.3 62.6 20 156361
Colorado West 2541 4884 0.7 72.1 6.8 63.9 166 103766
> kruskal.test(Illiteracy ~ state.region, data=states)
Kruskal-Wallis rank sum test
data: Illiteracy by state.region
Kruskal-Wallis chi-squared = 23, df = 3, p-value = 5e-05
摘抄自R語言實(shí)戰(zhàn)(第二版)