>hyp1.model1<-clmm(helpfulness~reflectiontype+session+(1+reflectiontype|participant),data=hyp1data)
>summary(hyp1.model1) #summary was produced but I won't replicate it here
>anova(hyp1.model1,type="II")
Error in eval(predvars,data,env):object 'helpfulness' not found
我想在hth1.model1上运行一个anova --这个模型一开始运行得很好,“有帮助”在我使用这个变量的任何其他代码中都没有出现问题。到目前为止,R与数据集的链接完全没有问题,数据集中的变量列标题和R中的变量标签似乎没有区别(因此所有其他代码都可以识别它)。
为什么当我想运行anova时,这突然成了一个问题?
发布于 2019-12-10 00:47:11
我猜helpfulness
不在你的数据框hyp1data
中。当您在第一行中创建模型时,可以在本地环境中找到它(您在R中创建的所有变量)。但是,当您运行第三行时,代码专门在您指定的数据框中查找helpfulness
。如果它不在那里,它会像这样失败。
尝试:
hyp1data$helpfulness <- helpfulness
这样就解决了吗?
发布于 2020-06-02 17:56:43
我遇到了同样的错误,但我觉得答案可以更具描述性。我认为出现这个错误是因为stats::anova()
和car::Anova()
函数没有识别ordinal::clmm
模型的方法。
要使用ordinal::clmm()
运行累积链接混合模型并获得后续偏差表,请确保加载了ordinal
和RVAideMemoire
包。RVAideMemoire
提供了用Anova.clmm()
获取偏差表的方法。
# fake data
set.seed(5)
hyp1data <- data.frame(
participant = c(paste0("id", 1:50),paste0("id", 1:50), paste0("id", 1:50),paste0("id", 1:50)),
session = c(rep(1, 50), rep(2,50), rep(1, 50), rep(2,50)),
reflectiontype = c(rep(1, 100), rep(2, 100)),
helpfulness = sample(1:7, 100, replace = TRUE))
hyp1data[,1:3] <- lapply(hyp1data[,1:3], factor)
hyp1data$helpfulness <- factor(hyp1data$helpfulness, ordered = TRUE)
# load libraries
library(ordinal)
library(RVAideMemoire)
# use RVAideMemoire::Anova.clmm
hyp1.model1<-clmm(helpfulness~reflectiontype+session+(1+reflectiontype|participant),data=hyp1data)
summary(hyp1.model1)
RVAideMemoire::Anova.clmm(hyp1.model1,type="II")
发布于 2020-10-29 00:47:22
只需注意另一个可能的解决方案:当我的数据被称为df
时,我遇到了同样的问题-在函数调用中的某个地方,这一定与df-function混淆了。重命名我的数据框解决了这个问题。
https://stackoverflow.com/questions/59250425
复制相似问题