lmerTest и lmer: сообщение об ошибке

Я запустил lmerTest и lmer в R в версии 2013:

> library(lmerTest)
> data1.frame <- read.delim("colorness.txt", fileEncoding="UTF-16")
> str(data1.frame)
> lmer3 <- lmerTest::lmer(duration ~ (1|item) + (1+color|speaker) + group*color*sex, data=data1.frame, REML=FALSE, na.action=na.omit)

Lmer3 у меня отлично работает. И когда я проверил данные в str(data1.frame), в этом нет ничего плохого.

Но когда я поставил эту команду

> summary(lmer3)

Это дает мне это сообщение:

Error in `colnames<-`(`*tmp*`, value = c("Estimate", "Std. Error", "df",  : 
  length of 'dimnames' [2] not equal to array extent

Однако я совершенно уверен, что в моих данных нет ничего плохого, так как я могу запустить lmer в версии R 2009. У вас есть идеи, как решить эту проблему? Дело в том, что если я придерживаюсь версии R 2009, то я не могу получить p-значения из lmerTest, и я не знаю, как получить его из теста отношения правдоподобия. У вас есть идеи по этому поводу?

1 ответ

Извините, что опубликовал это как ответ, но мне все еще не хватает "репутации", чтобы комментировать. Я думаю, что это ошибка и / или зависит от данных, потому что у меня та же проблема. У меня большой набор данных, и модель проходит по нему по строкам, используя цикл. Все отлично работает для первых 26 478 тестов (из 34 713), но останавливается в следующем цикле с той же ошибкой. Так:

1) это не версия пакета, так как он отлично работает для 3/4 моего набора данных 2) это не синтаксис, поскольку все отлично работает в первых десятках тысяч моделей и ANOVA, с которыми я ранее работал нулевая модель.

Мой код примерно:

for (i in 1:nrow(dataset)){
    dataframe<-as.data.frame(dataset[i,]);
    lm.R<-lmer(response ~ treatment + (1|ran)+(1|rep), dataframe, REML= FALSE);
    x<-summary(lm.R);
    p.val[i,]<-x$coefficients[,"Pr(>|t|)"];
}

и я получаю ту же ошибку, когда я = 26479

Model is not identifiable...
Error in `colnames<-`(`*tmp*`, value = c("Estimate", "Std. Error", "df",  : 
  length of 'dimnames' [2] not equal to array extent

В этом ряду мои данные в порядке (я дважды проверил), и я не вижу никаких нарушений. Даже ANOVA против нулевой модели (что я настоятельно рекомендую вам сделать, поскольку она дает вам p-значение, loglike, AIB и т. Д. Вашей модели) работает отлично.

lm.null<-lmer(response ~ 1 + (1|ran)+(1|rep), dataframe, REML= FALSE);
lm.R<-lmer(response ~ treatment + (1|ran)+(1|rep), dataframe, REML= FALSE);
anova(lm.null,lm.R);
Другие вопросы по тегам