问题

在我们接触过的许多统计检验中,都假设了总体的同方差性,这样的假设在统计研究中相当重要。那么在R中,我们该如何检验样本变量之间的方差齐性(同方差性)呢?

指南

检验数据方差齐性的方法有很多,本节将主要介绍以下三种:

对于上述所有的检验,我们的原假设都为“变量的总体方差全部相同”;备择假设则为“至少有两个变量的总体方差时不同的”。

示例数据:

下面的例子中我们用到了InsectSprays数据集和ToothGrowth数据集。其中,InsectSprays数据集中只有一个自变量,而在ToothGrowth数据集则有两个自变量。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(1)

绘制数据集的简单箱线图:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(2)

r语言卡方检验命令(R语言中方差齐性检验数析学院)(3)

大致一看,我们会直观地认为两个数据集中的数据都是异方差的,接下来,我们需要用适合的方法来实际地去检验它。

Bartlett检验

对于单一自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(4)

对于有多个自变量的情况,我们需要运用interaction()函数来将多个自变量折叠为一个单一的变量用于表示不同变量因素之间的组合。如果不这么做的话,检验的自由度将会发生错误,进而导致我们得到错误的p值。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(5)

Levene检验

leveneTest函数包含于car程序包中。 对于单一的自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(6)

多个自变量的情况,在这种方法中我们无需使用interaction函数:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(7)

Fligner-Killeen检验

对于单一的自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(8)

fligner.test函数与bartlett.test函数有着相同的缺点,在存在多个自变量时,检验前我们必须要使用interaction()函数将多个变量折叠为单一的变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(9)

更多内容请关注"Datartisan数据工匠"微信公众号。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(10)

,