如何在 r 中执行 welch 方差分析(逐步)
当不满足方差相等假设时,韦尔奇方差分析是典型单向方差分析的一种替代方法。
以下分步示例展示了如何在 R 中执行 Welch 方差分析。
第 1 步:创建数据
为了确定三种不同的学习技巧是否会导致不同的考试结果,教授随机分配 10 名学生使用每种技巧(技巧 A、B 或 C)一周,然后为每个学生提供同等难度的测试。
30名同学的考试成绩如下:
#create data frame df <-data. frame (group = rep (c(' A ', ' B ', ' C '), each =10), score = c(64, 66, 68, 75, 78, 94, 98, 79, 71, 80, 91, 92, 93, 85, 87, 84, 82, 88, 95, 96, 79, 78, 88, 94, 92, 85, 83, 85, 82, 81)) #view first six rows of data frame head(df) group score 1 to 64 2 to 66 3 to 68 4 to 75 5 to 78 6 to 94
第 2 步:等差检验
接下来,我们可以执行Bartlett 检验来确定每组之间的方差是否相等。
如果检验统计量的p 值低于一定的显着性水平(例如 α = 0.05),那么我们可以拒绝原假设并得出结论:并非所有组都具有相同的方差。
要执行 Bartlett 测试,我们可以使用基本 R 中的bartlett.test函数,该函数使用以下语法:
bartlett.test(公式,数据)
以下是在我们的示例中使用此函数的方法:
#perform Bartlett's test bartlett. test (score ~ group, data = df) Bartlett test of homogeneity of variances data: score by group Bartlett's K-squared = 8.1066, df = 2, p-value = 0.01737
Bartlett 检验的 p 值 ( .01737 ) 小于 α = .05,这意味着我们可以拒绝每个组具有相同方差的原假设。
因此,方差相等的假设被违反,我们可以继续进行韦尔奇方差分析。
第 3 步:执行韦尔奇方差分析
要在 R 中执行 Welch 方差分析,我们可以使用 R 基oneway.test()函数,如下所示:
#perform Welch's ANOVA oneway. test (score ~ group, data = df, var. equal = FALSE ) One-way analysis of means (not assuming equal variances) data: score and group F = 5.3492, num df = 2.00, denom df = 16.83, p-value = 0.01591
方差分析表的总体 p 值 ( 0.01591 ) 小于 α = 0.05,这意味着我们可以拒绝三种研究技术之间的考试结果相同的原假设。
然后,我们可以执行事后检验来确定哪些组均值不同。请参阅以下教程,了解如何在 R 中执行各种事后测试:
查看本教程,根据您的情况确定最适合使用哪种事后测试。