R中的Levene事后测试

时间:2019-05-10 13:21:34

标签: r statistics anova

我在R中进行数据分析时遇到了一个问题。我的一个假设基本上是,我的小组在分数分布上会有所不同,这表明两组之间的肢体会有差异。

我决定用Levenes检验来检验我的假设,事实证明该假设很重要,因此应强调各组之间的标准差显着不同。 但是我不知道Levenes检验的任何事后检验,在阅读了可能的事后分析后,我决定对残差进行ANOVA,然后对ANOVA进行事后检验。

这是我到目前为止尝试过的代码:

leveneTest(SS_mean~RA01, DF)
DF$residuals <- abs(DF$SS_mean - DF$SS_mean_big) #SS_mean = Participants score, 
#SS_mean_big = mean for each group.

我的测试和事后测试看起来像这样:

levene.anova<-aov(residuals~RA01, DF) #RA01 is the groups. Four in total
summary(levene.anova)
TukeyHSD(levene.anova)

残差的ANOVA也很明显,但是p值从0.04(Levenes检验)变为0.01(残差的ANOVA)。 当阅读它时,Levene检验似乎只是对残渣的方差分析,因此它应该给我相同的结果。而且我也不确定我应该使用哪种事后测试。我考虑了Dunnett并考虑了一个基线,该基线对应于我的一个小组。

最后,我对残差进行了leveneTest以及“ leveneTest(residuals〜RA01)”,结果很有意义。对我来说,使用非参数检验会更好吗? Kruskal-Wallis h检验对我的kruskal wallis检验进行事后检验吗?如果是这种情况,什么是适当的测试?我应该使用成对的Mann Whitney u检验还是Dunn检验?

由于这是我第一次这样做,所以我不确定这是否是合法的分析,非常感谢您的帮助或投入!

1 个答案:

答案 0 :(得分:0)

Levene检验在残差上的确应提供与ANOVA相同的p值。

例如参见以下代码:

Expression

也许您不小心运行了Brown–Forsythe检验,这是data("mtcars") mtcars$cyl <- as.factor(mtcars$cyl) # Calculate means and add them to data cyl_means <- aggregate(disp ~ cyl, data = mtcars, FUN = mean) colnames(cyl_means)[2] <- "disp_mean" mtcars2 <- merge(mtcars, cyl_means, by = "cyl") # Residuals and anova mtcars2$residuals <- abs(mtcars2$disp - mtcars2$disp_mean) res.aov <- aov(residuals ~ cyl, data = mtcars2) summary(res.aov) # Levene's test lawstat::levene.test(mtcars$disp, mtcars$cyl, location = "mean") 中的默认检验,它使用中位数而不是均值来计算残差。

如果仅对将组与一个基准组进行比较感兴趣,请使用Dunnett。 如果要在组之间进行所有成对比较,请使用TukeyHSD。