打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R笔记:方差齐性检验

正如我们在<<正态分布与方差齐性的检验方法与SPSS操作>>一文中的介绍,方差齐性检验有F检验、Bartlett χ2检验、Levene检验、残差图。F检验和Bartlett χ2检验要求数据资料具有正态性,而且F检验只能检验两个总体方差是否齐同,Levence检验所分析资料可不具正态性,结果更为稳健也可以检验多个总体的方差齐性。示例依旧采用<<完全随机资料设计的方差分析>>的数据,演示方差齐性检验的Levene检验和Bartlett χ2以及F检验。

从SPSS中载入数据:在正态性检验时我们的数据导入采用的是采用函数spss.get{Hmisc},本次我们使用read.spss{foreign}read.spss(file, use.value.labels = TRUE, to.data.frame = FALSE,max.value.labels = Inf, trim.factor.names = FALSE,trim_values = TRUE, reencode = NA, use.missings = to.data.frame,          sub = ".", add.undeclared.levels = c("sort", "append", "no"),duplicated.value.labels = c("append", "condense"),duplicated.value.labels.infix = "_duplicated_", ...)。

SPSS数据载入清单:

library(foreign)  #载入foreign程序包

varh<-read.spss(file="D:/Temp/ANOVA.sav",to.data.frame = TRUE)  #新建对象varh,赋值为SPSS文件ANOVA的数据。命令中去掉“file=”结果是一样的

【1】levene检验。leveneTest {car}:leveneTest(y, data, ...)

leveneTest(y, group, center=median, ...)Computes Levene's test for homogeneity of variance across groups.

library(car)  #调用程序包car

library(carData)  #载入程序包carData

leveneTest(LDL_C~Group,data=varh)  #levene方差齐性检验,模型表达形式,默认以中位值进行检测

leveneTest(varh$LDL_C,varh$Group,center=mean)  #leven方差齐性检验,变量表达形式,以均值进行检测

结果如下:不论是中位值还是均值,P值均>0.05,各组方差齐同。

【2】Bartlett χ2检验。

bartlett.test {stats}bartlett.test(x,g,...)或者bartlett.test(formula,data, subset,na.action,...)Performs Bartlett's test of the null that the variances in each of the groups (samples) are the same.

ols_test_bartlett {olsrr}ols_test_bartlett(data, ..., group_var = NULL)

,Test if k samples are from populations with equal variances.

bartlett.test {stats}的命令用法跟leveneTest {car}基本一样,有模型表达格式和变量表达格式,命令清单如下:

library(stats)

bartlett.test(varh$LDL_C,varh$Group)

bartlett.test(LDL_C~Group,data=varh)

ols_test_bartlett {olsrr}命令清单:
library(olsrr)

ols_test_bartlett(varh,LDL_C,group_var=Group) 

olsrr程序包中除了bartlett.test 可以进行方差齐性的检验,程序包中的ols_test_f 、ols_test_breusch_pagan、ols_test_score函数也可以进行方差齐性的检验。

【3】F检

var.test {stats}:var.test(x, y, ratio = 1,alternative = c("two.sided", "less", "greater"),         conf.level = 0.95, ...)或者var.test(formula, data, subset, na.action, ...),Performs an F test to compare the variances of two samples from normal populations.

F检验只能检测2个总体间的方差齐性,本例假设使用演示示例中的Placebo和NG2.4g两个组作为新的演示示例。
library(stats)  #调用foreign程序包

var.test(varh[1:30,2],varh[31:60,2])  #使用var.test函数进行方差齐性的F检验。F检验只能检测两个总体间的方差齐性,本例假设结果只有placebo组(数据1:30行)和NG2.4g组(数据31:60行)两组

var.test的另外一种格式是:

varh2<-varh[1:60,]  #新建对象varh2,赋值为数据框varh的前60行。此命令仅生成含有2个组的演示数据,因为F检验只能检测两个总体间的方差齐性

var.test(LDL_C~Group,data=varh2)  #使用var.test函数进行方差齐性的F检验

END


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
如何用R让你的统计分析变得更规范?
通达信公式===MACD带资金流量[原码]
巴特利特检验Bartlett′s test
DISM命令应用大全
R趣味小知识:通过命令来升级R软件
KMO检验
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服