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

时间:2020-07-31 15:02:56

标签: r anova posthoc tukey factoring

我想对我成功完成的重要方差分析进行事后测试。

我有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)

接下来,我想看看事后测试显示了什么,以找出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))

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

类(y)中的错误<-oldClass(x):将类“ factor”添加到 无效的对象另外:警告消息:1:在model.response(mf, “ numeric”):将类型=“ numeric”与因子响应一起使用将是 被忽略的2:在Ops.factor(y,z $ residuals)中:“-”对于 因素

任何建议都会有所帮助。预先感谢。

1 个答案:

答案 0 :(得分:1)

编辑第一次,我错过了您也将公式推后的事实!

在发布target_onset函数之前,您需要在 之前将aov作为因素。您完全根本不想让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)

因变量(响应时间位于代字号的左侧,独立分组变量位于右侧。

如果您不将条件/分组变量设置为factor aov,而实际上使用分组列中的数字执行lm,则可以看到cond.aov的自由度。

只要您已有一个aov对象,就可以使对TukeyHSD的调用尽可能简单