В настоящее время я использую смешанный внутри 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"
Итак, ошибка контрастов говорит о том, что факторы должны иметь два или более уровней, когда оба фактора имеют два уровни меня смутили.
Почему еще я могу получить эту ошибку?