獨立性檢驗
卡方獨立性檢驗
使用chisq.test()函數對二維表的行變量和列變量進行卡方獨立性檢驗,代碼如下
> mytable<-xtabs(~Treatment+Improved,data = Arthritis)
> mytable
Improved
Treatment None Some Marked
Placebo 29 7 7
Treated 13 7 21
> chisq.test(mytable)
Pearson's Chi-squared test
data: mytable
X-squared = 13.055, df = 2, p-value = 0.001463
> mytable<-xtabs(~Improved+Sex,data = Arthritis)
> mytable
Sex
Improved Female Male
None 25 17
Some 12 2
Marked 22 6
> chisq.test(mytable)
Pearson's Chi-squared test
data: mytable
X-squared = 4.8407, df = 2, p-value = 0.08889
Warning message:
In chisq.test(mytable) : Chi-squared近似算法有可能不準
其中的P值表示從總體中抽取的樣本行變量與列變量是相互獨立的概率
在第一個二維表(治療與改善程度)中p<0.01,說明兩者不獨立殖侵,即存在著某種關系僧凤,在第二個二維表(改善程度與性別)中,P>0.05,說明兩者相互獨立
Fisher精確檢驗
Fisher精確檢驗的原假設是:邊界固定的列聯(lián)表中行和列是相互獨立的
其調用格式為fisher.test(mytable)
> mytable<-xtabs(~Treatment+Improved,data = Arthritis)
> mytable
Improved
Treatment None Some Marked
Placebo 29 7 7
Treated 13 7 21
> fisher.test(mytable)
Fisher's Exact Test for Count Data
data: mytable
p-value = 0.001393
alternative hypothesis: two.sided
可以看出P<0.01,即治療方法與改善程度不獨立
相關性檢驗
相關的類型
Pearson積差相關系數衡量了兩個定量變量之間的線性相關程度
Spearman等級相關系數衡量分級定序變量之間的相關程度
Kendall's Tau相關系數也是一種非參數的等級相關度量
示例的數據來源于R內置數據集state.x77數據集,它提供了美國50個州在1997年的人口端铛,收入练般,文盲率,預期壽命服爷,謀殺率和高中畢業(yè)數據
cor()函數可以計算著三種相關系數杜恰,cov()函數可以用來計算協(xié)方差,調用格式如下
cor(x,use=,method=)
x 矩陣或數據框
use 指定處理缺失值的方式 可選的方式有 all.obs(假設不存在缺失數據仍源,遇到缺失數據報錯) everything(遇到缺失數據時心褐,相關系數的計算結果將設為missing) compelet.obs(行刪除)pairwise.complete.obs(成對刪除)
> state<-state.x77[,1:6]
> cor(state)
Population Income Illiteracy Life Exp Murder HS Grad
Population 1.00000000 0.2082276 0.1076224 -0.06805195 0.3436428 -0.09848975
Income 0.20822756 1.0000000 -0.4370752 0.34025534 -0.2300776 0.61993232
Illiteracy 0.10762237 -0.4370752 1.0000000 -0.58847793 0.7029752 -0.65718861
Life Exp -0.06805195 0.3402553 -0.5884779 1.00000000 -0.7808458 0.58221620
Murder 0.34364275 -0.2300776 0.7029752 -0.78084575 1.0000000 -0.48797102
HS Grad -0.09848975 0.6199323 -0.6571886 0.58221620 -0.4879710 1.00000000
> cov(state)
Population Income Illiteracy Life Exp Murder HS Grad
Population 19931683.7588 571229.7796 292.8679592 -407.8424612 5663.523714 -3551.509551
Income 571229.7796 377573.3061 -163.7020408 280.6631837 -521.894286 3076.768980
Illiteracy 292.8680 -163.7020 0.3715306 -0.4815122 1.581776 -3.235469
Life Exp -407.8425 280.6632 -0.4815122 1.8020204 -3.869480 6.312685
Murder 5663.5237 -521.8943 1.5817755 -3.8694804 13.627465 -14.549616
HS Grad -3551.5096 3076.7690 -3.2354694 6.3126849 -14.549616 65.237894
> cor(state,method = "spearman")
Population Income Illiteracy Life Exp Murder HS Grad
Population 1.0000000 0.1246098 0.3130496 -0.1040171 0.3457401 -0.3833649
Income 0.1246098 1.0000000 -0.3145948 0.3241050 -0.2174623 0.5104809
Illiteracy 0.3130496 -0.3145948 1.0000000 -0.5553735 0.6723592 -0.6545396
Life Exp -0.1040171 0.3241050 -0.5553735 1.0000000 -0.7802406 0.5239410
Murder 0.3457401 -0.2174623 0.6723592 -0.7802406 1.0000000 -0.4367330
HS Grad -0.3833649 0.5104809 -0.6545396 0.5239410 -0.4367330 1.0000000
第一個語句計算了相關系數,第二個語句計算了Perason相關系數笼踩,第三個語句計算了Spearman相關系數逗爹,可以看到收入和高中畢業(yè)率存在很強的正相關,文盲率和預期壽命存在很強的負相關
相關性的顯著檢驗(檢驗總體相關度是否為0)
在計算好相關系數后嚎于,就要對它們進行顯著性檢驗
可以使用cor.test()函數進行檢驗掘而,簡化后的調用格式如下
cor.test(x,y,alternative=,method=)
x,y是要進行檢驗的相關性變量
alternative 用來指定進行單側檢驗還是雙側檢驗
method 指定要計算的相關類型
> cor.test(state[,4],state[,5])
Pearson's product-moment correlation
data: state[, 4] and state[, 5]
t = -8.6596, df = 48, p-value = 2.26e-11
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.8700837 -0.6420442
sample estimates:
cor
-0.7808458
這段代碼對預期壽命和謀殺率的相關性進行檢驗,P值代表相關度為0的概率于购,其中P值很小袍睡,說明原假設幾乎不可能發(fā)生,從而推翻原假設認為預期壽命和謀殺率的相關度不為0
t檢驗(檢驗總體均值是否相等)
上述的相關系數的檢驗主要是應用于類別型變量的檢驗
而t檢驗則主要應用于連續(xù)型變量的檢驗
示例用的數據集是MASS包中的UScrime數據集肋僧,它包含了1960年美國47個州的刑罰制度對犯罪影響的信息
我們感興趣的變量為Prob(監(jiān)禁的概率)斑胜,U1(14-24歲年齡段男性失業(yè)率)控淡,U2(35-39歲年齡段男性失業(yè)率)。類別型變量So(指示該州是否位于南方)
獨立樣本的t檢驗
我們比較的對象是南方和非南方各州止潘,應變量為監(jiān)禁的概率掺炭,一個針對兩組的獨立樣本y檢驗可以用于檢驗兩個總體的均值是否相等
調用格式為
t.test(y~x,data)
y是一個數值型變量,x是類別型變量凭戴,data是數據框
> t.test(Prob~So,data = UScrime)
Welch Two Sample t-test
data: Prob by So
t = -3.8954, df = 24.925, p-value = 0.0006506
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.03852569 -0.01187439
sample estimates:
mean in group 0 mean in group 1
0.03851265 0.06371269
由于P<0.01涧狮,可以拒絕南方各州與非南方各州具有相同監(jiān)禁率的假設
非獨立樣本的t檢驗
較年輕男性的失業(yè)率是否比年長的男性失業(yè)率高?在這種情況下么夫,兩中數據并不獨立(比如同一個州)勋篓,非獨立樣本的t檢驗調用格式如下
t.test(y1,y2,paired=TRUE)
y1,y2是兩個非獨立的數值向量
> t.test(UScrime$U1,UScrime$U2,paired = TRUE)
Paired t-test
data: UScrime$U1 and UScrime$U2
t = 32.407, df = 46, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
57.67003 65.30870
sample estimates:
mean of the differences
61.48936
可以看出年輕的失業(yè)率交年長的失業(yè)率高(均值差值為61.5),切P<0.01,可以保證兩者失業(yè)率不同