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)

Imer3 работает нормально для меня. И когда я проверил данные в 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, и я не знаю, как получить их из теста отношения правдоподобия. У вас есть какие-нибудь идеи по этому поводу?


person user3288202    schedule 28.02.2014    source источник
comment
Вы должны предоставить некоторые репрезентативные данные и свой код. Это слишком расплывчато, чтобы кто-то рискнул предположить.   -  person asb    schedule 28.02.2014
comment
Хорошо, я сделаю через минуту. Я только что удалил R минуту назад и жду, пока школьный техник переустановит его для меня. Спасибо за предложение, asb.   -  person user3288202    schedule 28.02.2014
comment
Привет, asb, я добавил для вас дополнительную информацию, чтобы вы могли указать на проблему. Ваши предложения будут полезны в моей работе.   -  person user3288202    schedule 28.02.2014
comment
Посмотрите на поле Зависит на странице CRAN. Если ваша установка не соответствует перечисленным требованиям, вас не должны удивлять проблемы.   -  person Roland    schedule 28.02.2014
comment
Привет, Роланд, но формула работает нормально, когда я запускаю ее с другим измерением. Вот почему я удивлен, что не так.   -  person user3288202    schedule 28.02.2014
comment
Не могли бы вы скопировать head(data1.frame) сюда?   -  person llrs    schedule 28.02.2014
comment
Привет, Ллопис, я пробовал, но вроде ничего плохого. Я не уверен, должен ли я размещать его здесь, так как он также покажет мои данные, которые являются конфиденциальными. Не могли бы вы указать мне, что я должен заметить в заголовке? Я не уверен, что это потому, что я использую Windows, как в cran.r-project .org/web/checks/check_results_lmerTest.html.   -  person user3288202    schedule 28.02.2014
comment
Мое другое решение заключается в том, что мне придется найти статью, анализирующую данные с помощью lmm, а не сообщать p-значения, чтобы я мог быть уверен, что p-значения не нужны для аналитических отчетов.   -  person user3288202    schedule 28.02.2014
comment
Вам не нужно lmerTest для p-значений. Установите последнюю версию lme4 и прочитайте help("pvalues").   -  person Roland    schedule 28.02.2014
comment
Версия R 2009 кажется довольно старой... не могли бы вы запустить sessionInfo() и поместить сюда то, что получилось? Я предполагаю, что проблема заключается в версии lmerTest вместе с версией lme4. Но, конечно, репрезентативный пример не помешал бы. Вы можете отправить мне данные по электронной почте, если можете (сопровождающему lmerTest), чтобы я мог поближе взглянуть   -  person Alexandra    schedule 28.02.2014
comment
Большое спасибо за предложение. Я уже сообщил об этом и прикрепил файлы Александре.   -  person user3288202    schedule 28.02.2014
comment
2013 не версия. Это год. R и его пакеты имеют фактические номера версий, которые более информативны.   -  person Roland    schedule 28.02.2014
comment
Привет, Роланд, о, извини. Я использую R 3.0.1. И я все еще не могу получить p-значения от KRmodcomp из пакета pbkrtest (MC), так как у меня такое же количество параметров.   -  person user3288202    schedule 28.02.2014
comment
возникла та же проблема, я просто отсоединил (пакет: lmerTest), и сводка сработала. Итак, звучит баг lmerTest Марина   -  person marina    schedule 24.03.2014
comment
Да, я отправил электронное письмо Александре с вопросом, кто занимается сопровождением lmerTest, и он подтвердил, что для этого набора моих данных lmerTest не может быть запущен. Итак, я исключил случайный наклон в одном случайном эффекте, и он отлично работает.   -  person user3288202    schedule 24.03.2014
comment
Спасибо ! Но не уверен, что это зависит от данных. Моя модель проще, чем вы можете найти (y ~ Tt + (1|терпеливый)). Он просто перестал работать при обновлении версий... Все равно спасибо   -  person marina    schedule 24.03.2014


Ответы (1)


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

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

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

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-значение, логарифмическое значение, 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);
person Carlos    schedule 24.04.2014
comment
Да, я согласен, это ошибка. - person user3288202; 24.04.2014
comment
Я думаю, что просто проигнорирую эту точку данных (существенной разницы с нулевой моделью не было). Вам удалось ее обойти? (Может быть, сравнивая его с отдельными моделями и выполняя дисперсионный анализ или используя логарифмическое правдоподобие?) Я рекомендую дисперсионный анализ для: =data1.frame, REML=FALSE, na.action=na.опустить) lm.g‹-lmer(длительность ~ (1|элемент) + (1+цвет|динамик) + группа, data=data1.frame, REML= FALSE, na.action=na.omit) закончить все возможные комбинации (G, C, S, GC, GS, C*S и т. д.) - person Carlos; 24.04.2014
comment
Спасибо, Карлос. Теперь я просто использую lsmeans, чтобы дать мне апостериорный тест, поэтому мне больше не нужны выходные данные модели. - person user3288202; 24.04.2014