>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
我想在hyp1.model1上运行方差分析-该模型最初运行良好,并且在我使用此变量的其他任何代码中都没有出现“帮助”问题。到目前为止,R与数据集的链接已完全完善,并且数据集中的变量列标题与R中的变量标签之间似乎没有区别(因此所有其他代码都已识别出它)。
为什么要运行方差分析时突然出现问题?
答案 0 :(得分:1)
我的猜测是helpfulness
不在您的数据帧hyp1data
中。在第一行中创建模型时,可以在本地环境中找到模型(您在R中创建的所有变量)。但是,当您运行第三行时,代码将在您指定的数据框中专门查找helpfulness
。如果不存在,它会像这样失败。
尝试:
hyp1data$helpfulness <- helpfulness
可以解决吗?
答案 1 :(得分:1)
我遇到了同样的错误,但认为答案可能更具描述性。我相信会出现错误,因为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")
答案 2 :(得分:0)
我找到了一种使用教程“ RVAideMemoire”和“ car”来进行方差分析的方法:
法比安·布鲁斯(Fabian Bross)(2019)。使用混合效应模型分析可接受性评级数据。 版本1.0。美美男在线:www.fabianbross.de/mixedmodels.pdf。
最后的部分很好地描述了如何以这种方式跟踪clmm模型。
答案 3 :(得分:0)
请注意另一个可能的解决方案:当我的数据被调用为$username = '$(username)'
$password = '$(password)'
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiUrl = "https://$(siteName).scm.azurewebsites.net/api/vfs/site/your-file"
$filePath = "$(System.DefaultWorkingDirectory)/your-file"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", ("Basic {0}" -f $base64AuthInfo))
$headers.Add("If-Match", "*")
Invoke-RestMethod -Uri $apiUrl -Headers $headers -Method PUT -InFile $filePath -ContentType "multipart/form-data"
时,我遇到了同样的问题-在函数调用中的某个地方,这一定与df函数混淆了。重命名数据框解决了该问题。