bartlett方差齐性检验_基于R实现统计中的检验方法方差分析
作者:徐濤,19年應屆畢業生,專注于珊瑚礁研究,喜歡用R各種清洗數據。
知乎:
https://www.zhihu.com/people/parkson-19/posts
前言
方差分析(均數的顯著性檢驗)
方差分析(Analysis of Variance,簡稱ANOVA),又稱“變異系數分析”,是R.A.Fisher發明的,用于兩個及兩個以上樣本均數差別的顯著性檢驗。
1.適用條件方差分析數據必須滿足3個條件即獨立、正態,方差齊次性。
---------------------#正態性檢驗#---------------------#Shapiro-Wilk檢驗用來檢驗數據是否符合正態分布,類似于線性回歸的方法一樣,是檢驗其于回歸曲線的殘差。#該方法作者推薦在樣本量很小的時候使用,比如N<20。但是也有作者推薦在大數據集上使用。該作者將這種修改#后的方法運用在R語言的stats包中的shapiro.test函數中。該檢驗原假設為H0:數據集符合正態分布。#R語言中的Shapiro-Wilk檢驗(W檢驗),shapiro.test(x)該函數只有一個參數即數據集x。x可以是數值型向量,允許存在NA#但是非丟失數據需要在3-5000內。##example###11個隨機抽取的樣本的體重(斤)數據為:148,154,158,160,161,162,166,170,182,195,236k148,2.分類(按因素分)
單因素方差分析、二因素方差分析和多因素方差分析。(單因素方差分析主要對因素的主效應進行分析,而二因素及多因素方差分析除了多組效應分析外,還可對因素間的交互作用進行分析。分析交互作用時,觀測值必須有重復)
3.R實例R中的函數aov()用于方差分析的計算,其調用格式為:
aov(formula,data=NULL,projections=FALSE,qr=TRUE,contrasts=NULL,...)#其中的參數formula表示方差分析的公式,在單因素方差分析中即為X~A;data表示做方差分析的數據框;projections為邏輯值,表示是否返回預測結果;qr同樣是邏輯值,表示是否返回QR分解結果,默認為TRUE;
contrasts是公式中的一些因子的對比列表。通過summary()可列出分析表的詳細結果。#詳情參見R語言實戰(第2版)page:201.
單因素方差分析
---------------------#單因素方差分析#---------------------#單因素方差分析比較的是分類因子定義的兩個或多個組別中的因變量均值。以multcomp包中cholesterol數據集為例。##正態性檢驗
library(multcomp)
head(cholesterol)
str(cholesterol)
shapiro.test(cholesterol$response)
??????Shapiro-Wilk?normality?test
data:??cholesterol$response
W?=?0.97722,?p-value?=?0.4417#結果表明,p=0.4417>0.05,接受原假設,說明數據在五個水平下都是正態分布的。
##方差齊性檢驗
bartlett.test(response~trt,data=cholesterol)
?Bartlett?test?of?homogeneity?of?variances
data:??response?by?trt
Bartlett's?K-squared?=?0.57975,?df?=?4,?p-value?=?0.9653#結果表明,p=0.9653,接受原假設,說明數據在不同水平下是等方差的。
##單因素方差分析
fitsummary(fit)
????????????Df?Sum?Sq?Mean?Sq?F?value???Pr(>F)????
trt??????????4?1351.4???337.8???32.43?9.82e-13?***
Residuals???45??468.8????10.4?????????????????????
---
Signif.?codes:??0?‘***’?0.001?‘**’?0.01?‘*’?0.05?‘.’?0.1?‘?’?1#結果表明,5種治療方式間的效果差異非常顯著。
##多重比較(多重T檢驗)#以上單因素方差分析可以得出,五組之間治療效果有顯著差異,但是我們不知道哪種療法與其他療法的不同,多重比較可以解決這個問題。#R語言中TukeyHSD()函數提供了對各組均值差異的成對檢驗。
TukeyHSD(fit)
??Tukey?multiple?comparisons?of?means
????95%?family-wise?confidence?level
Fit:?aov(formula?=?response?~?trt,?data?=?cholesterol)
$trt
??????????????????diff????????lwr???????upr?????p?adj
2times-1time???3.44300?-0.6582817??7.544282?0.1380949
4times-1time???6.59281??2.4915283?10.694092?0.0003542
drugD-1time????9.57920??5.4779183?13.680482?0.0000003
drugE-1time???15.16555?11.0642683?19.266832?0.0000000
4times-2times??3.14981?-0.9514717??7.251092?0.2050382
drugD-2times???6.13620??2.0349183?10.237482?0.0009611
drugE-2times??11.72255??7.6212683?15.823832?0.0000000
drugD-4times???2.98639?-1.1148917??7.087672?0.2512446
drugE-4times???8.57274??4.4714583?12.674022?0.0000037
drugE-drugD????5.58635??1.4850683??9.687632?0.0030633#結果表明,1time和2times的均值差異不顯著(p=0.138),而1time和4times間的差異非常顯著(p<0.01)
一般圖像給的效果會更加直觀,R中multcomp包中的glht()函數提供了多重均值比較更為全面的方法。
par(mar=c(5,4,6,2))tuk"Tukey"))
備注:
1)在單因素方差分析前需要對數據進行正態性和方差齊性檢驗。除了以上提及的檢驗方法,R中還可以使用Q-Q圖來檢驗正態性假設。#詳情參見R語言實戰(第2版)page:206-207.
2)單因素方差分析的擴展為單因素協方差分析,包含一個或多個定量的協變量。(詳情參見R語言實戰(第2版)page:208.)
二因素方差分析(雙因素方差分析)
---------------------#二因素方差分析#---------------------#以基礎安裝包中的ToothGrowth數據集為例,60只豚鼠,自變量包括兩種投喂方法(橙汁或VC),不同喂食方法中抗壞血酸含量有#三種水平,牙齒長度為因變量,每種處理都被分配10只豚鼠。head(ToothGrowth)
???len?supp?dose1??4.2???VC??0.52?11.5???VC??0.53??7.3???VC??0.54??5.8???VC??0.55??6.4???VC??0.56?10.0???VC??0.5
ToothGrowth$doseas.factor(ToothGrowth$dose)
備注:
1)R仍然用函數aov()作雙因素方差分析,只需將formula改為x~A+B+A:B或x~A*B的形式即可。(且分析包含了交互作用的方差分析)
2)多因素方差分析和雙因素方差分析過程類似。
此篇為學習筆記,參考網上和書本知識,整理匯總,方便以后學習查找。
tips
1)T檢驗和方差分析有何區別?
t檢驗適用于兩個變量均數間的差異檢驗,多于兩個變量間的均數比較要用方差分析。
2)方差分析與獨立樣本T檢驗的前提條件是相同的,即正態性和方差齊性。
參考[1]R語言方差分析的內容全部在這里了 - 云+社區 - 騰訊云
[2]T檢驗與F檢驗的區別_f檢驗和t檢驗的關系 - Little_Rookie - 博客園
[3]顧志峰,葉乃好,石耀華.實用生物統計學[M].北京:科學出版社,2012年.
[4]R語言 Shapiro-Wilk檢驗
[5]【數據分析 R語言實戰】學習筆記 第八章 方差分析與R實現
[6]Robert I. Kabacoff.R語言實戰[M].北京:人民郵電出版社,2016年.
往期精彩:
R語言實現基本統計分析之t檢驗
R中數據結構與數據的輸入
R語言:以多列標準篩選特定行
用R語言實現信息度量
公眾號后臺回復關鍵字即可學習
回復?爬蟲????????????爬蟲三大案例實戰回復?Python???????1小時破冰入門回復?數據挖掘?????R語言入門及數據挖掘回復?人工智能?????三個月入門人工智能回復?數據分析師??數據分析師成長之路?回復?機器學習?????機器學習的商業應用回復?數據科學?????數據科學實戰回復?常用算法? ? ?常用數據挖掘算法
給我【好看】
你也越好看!
總結
以上是生活随笔為你收集整理的bartlett方差齐性检验_基于R实现统计中的检验方法方差分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jpg 神经网络 手势识别_在STM32
- 下一篇: moead算法流程步骤_数据聚类(一)常