我已经在2013版本中运行了R中的lmerTest和lmer:
> 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然而,我非常确定我的数据中没有任何错误,因为我可以在R版本2009中运行lmer。你知道如何解决这个问题吗?问题是,如果我坚持使用R版本2009,那么我无法从lmerTest获得p值,并且我不知道如何从似然比检验中获得它。你对此有什么想法吗?
发布于 2014-04-25 00:14:58
很抱歉将此作为答案发布,但我仍然没有足够的“声誉”来评论。我认为这是一个bug和/或取决于数据,因为我也有同样的问题。我有一个很大的数据集,模型使用循环逐行运行它。在前26,478个测试(总共34,713个)中,一切都工作得很好,但在下一个周期停止,并出现相同的错误。所以:
1)它不是软件包的版本,因为它适用于我数据集的3/4。2)它不是sintax,因为在最初的数万个模型和我之前对空模型运行的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|)"];
}当i= 26479时,我得到同样的错误
Model is not identifiable...
Error in `colnames<-`(`*tmp*`, value = c("Estimate", "Std. Error", "df", :
length of 'dimnames' [2] not equal to array extent我的数据在这一行是正常的(我仔细检查了一下),并且我看不到任何异常。即使是针对null模型的方差分析(我强烈建议您这样做,因为它会给出模型的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);https://stackoverflow.com/questions/22089982
复制相似问题