如何在 r 中执行 levene 方差齐性检验


许多统计检验(例如单向方差分析双向方差分析)假设多个组之间的方差相等。

正式检验这一假设的一种方法是使用Levene 检验,该检验检验两个或多个组之间的方差是否相等。

该测试基于以下假设:

原假设 (H 0 ) :组间方差相等。

备择假设 ( HA ) :组间方差相等。

如果检验的 p 值小于所选的显着性水平,我们可以拒绝原假设并得出结论:我们有足够的证据表明组之间的方差不相等。

如何在 R 中执行 Levene 检验

要在 R 中执行 Levene 测试,我们可以使用car库中的leveneTest()函数,该函数使用以下语法:

leveneTest(响应变量~组变量,数据=数据)

作为示例,请考虑以下数据框,该数据框显示了人们通过三种不同的减肥计划减掉了多少体重:

 #make this example reproducible
set. seeds (0)

#create data frame
data <- data. frame (program = rep(c("A", "B", "C"), each = 30 ),
                   weight_loss = c(runif(30, 0, 3),
                                   runif(30, 0, 5),
                                   runif(30, 1, 7)))

#view first six rows of data frame
head(data)

# program weight_loss
#1 A 2.6900916
#2 A 0.7965260
#3 A 1.1163717
#4 A 1.7185601
#5 A 2.7246234
#6 A 0.6050458

要检查这三个程序之间的减肥方差是否相等,我们可以使用leveneTest()函数并使用 0.05 作为显着性水平:

 #load car package
library (car)

#conduct Levene's Test for equality of variances
leveneTest(weight_loss ~ program, data = data)

#Levene's Test for Homogeneity of Variance (center = median)
# Df F value Pr(>F)  
#group 2 4.1716 0.01862 *
#87                  
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

检验的 p 值为0.01862 ,低于我们的显着性水平 0.05。

因此,我们拒绝原假设并得出结论:三组之间的方差相等。

可视化方差的差异

通过执行 Levene 检验,我们知道三组之间的方差不相等。

除了执行此检验之外,我们还可以创建箱形图来显示三组中每组的体重减轻分布,以便我们可以直观地理解为什么 Levene 的检验拒绝方差齐性的原假设。

 boxplot(weight_loss ~ program,
  data = data,
  main = "Weight Loss Distribution by Program",
  xlab = "Program",
  ylab = "Weight Loss",
  col = "steelblue",
  border = "black")

我们可以看到,项目 C 的参与者的体重减轻差异明显高于其他两个项目。

因此,Levene 检验拒绝三组之间方差相等的原假设是合乎逻辑的。

其他资源

以下教程解释了如何在不同的统计软件中执行 Levene 检验:

如何在 Excel 中执行 Levene 检验
如何在 Python 中执行 Levene 测试
如何在 SPSS 中执行 Levene 检验
如何在 Stata 中进行 Levene 检验

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注