Необъяснимая ошибка при попытке запустить смешанный внутри-между ANOVA с использованием функции "anova_test" из пакета rstatix - PullRequest
0 голосов
/ 27 января 2020

В настоящее время я использую смешанный внутри ANOVA с помощью функции anova_test () из пакета rstatix ​​.

Код выглядит следующим образом

res.aov <- anova_test(
  data = data, dv = SB6, wid = Participant_Code, # SB6 is continuous DV, Participant_Code = unique Identifier
  between = FactNP, within = Pre_Post #FactNP is the as.factor("between") variable and Pre_Post is the same with the within variable.
)

Я получаю следующую ошибку:

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels

Это говорит о том, что одна из моих переменных имеет только один уровень (т.е. все это одно значение), как сказано в предыдущих вопросах (например, Ошибка в контрастах при определении линейной модели в R )

Чтобы еще раз проверить, что это не тот случай, я запустил код:

lapply(data[c("Pre_Post", "FactNP")], unique)

Это дает следующие результаты

$Pre_Post
[1] Pre  Post
Levels: Post Pre

$FactNP
[1] Placebo    Naltrexone
Levels: Naltrexone Placebo

, которые показывают, что у каждого фактора есть 2 уровня: в пределах есть до и после, а между ними есть плацебо против препарата (налтрексон). Чтобы быть уверенным, я также проверил уровни, используя функцию basi c «уровни»:

> levels(data$FactNP)
[1] "Naltrexone" "Placebo"   
> levels(data$Pre_Post)
[1] "Post" "Pre" 

Итак, ошибка контрастов говорит о том, что факторы должны иметь два или более уровней, когда оба фактора имеют два уровни меня смутили.

Почему еще я могу получить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...