用于 R 中分类变量和连续变量的 Tukey HSD

Tukey HSD for categorical and continuous variables in R

我想对我已成功完成的显着方差分析进行 post-hoc 测试。

我有 5 个条件 (target_onset),我想在名为 data_clean 的 df 中比较反应时间 (key_resp.rt)。 target_onset 和 key_resp.rt 是列。

这就是我进行方差分析的方法,效果很好:

cond.aov <- aov(data_clean$target_onset ~ data_clean$key_resp.rt)
summary(cond.aov)

接下来,我想看看 post-hoc 测试说了什么,以找出 5 个条件之间的哪些差异是显着的。

我知道 TukeyHSD 只取因子。所以我分解了我感兴趣的列:

data_clean$target_onset <- factor(data_clean$target_onset)
data_clean$key_resp.rt <- factor(data_clean$key_resp.rt)

TukeyHSD(aov(data_clean$target_onset ~ data_clean$key_resp.rt))

但是,当我 运行 这段代码时,出现以下错误:

Error in class(y) <- oldClass(x) : adding class "factor" to an invalid object In addition: Warning messages: 1: In model.response(mf, "numeric") : using type = "numeric" with a factor response will be ignored 2: In Ops.factor(y, z$residuals) : ‘-’ not meaningful for factors

任何建议都会有所帮助。提前致谢。

编辑 第一次通过我错过了你的公式倒退的事实!

在 发出aov 函数之前,您需要使target_onset 成为一个因子。你根本不想让key_resp.rt成为一个因素。

所以顺序应该是...

data_clean$target_onset <- factor(data_clean$target_onset)

cond.aov <- aov(key_resp.rt ~ target_onset, data = data_clean)

summary(cond.aov)

TukeyHSD(cond.aov)

因变量(响应时间在波浪号左侧,独立分组变量在右侧。

如果您不将 condition/grouping 变量设为 factor aov,而实际上使用分组列中的数字执行 lm,您可以看到这反映在 cond.aov.

的自由度中

只要你已经有了一个 aov 对象,不妨尽可能简单地调用 TukeyHSD