HSD Тьюки для категориальных и непрерывных переменных в R

Я хочу провести апостериорный тест для значимого дисперсионного анализа, который я успешно выполнил.

У меня есть 5 условий (target_onset), по которым я хочу сравнить время реакции (key_resp.rt) в df с именем data_clean. target_onset и key_resp.rt - столбцы.

Вот как я сделал ANOVA, который отлично сработал:

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): добавление фактора класса к недопустимому объекту Дополнительно: Предупреждающие сообщения: 1: В model.response (mf, numeric): использование type = numeric с ответом фактора будет проигнорировано 2 : В Ops.factor (y, z $ остатки): '-' не имеет значения для факторов

Любые предложения были бы полезны. Заранее спасибо.


person anntree    schedule 31.07.2020    source источник


Ответы (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 как можно проще.

person Chuck P    schedule 31.07.2020
comment
Если вы новичок в r, вы также можете изучить некоторые из пакетов, таких как ggstatsplot, которые сделают все за вас, включая красивую графику результатов. - person Chuck P; 31.07.2020