我正在使用序数包并在R上使用clmm函数,但是尽管确保我的响应变量是序数(也称为有序因子),但仍然出现以下错误:
getY(fullmf)错误:响应必须是一个因素
这是有错误的代码,还显示R如何将变量“帮助”理解为有序因素。
> library(ordinal)
> hyp1.model1<-clmm(helpfulness~reflectiontype+session+(1+reflectiontype|participant),data=hyp1data)
Error in getY(fullmf):response needs to be a factor
> unique(helpfulness)
[1] 4 2 1 3 0
Levels: 0 < 1 < 2 < 3 < 4
> class(helpfulness)
[1] "ordered" "factor"
答案 0 :(得分:0)
我对Roland和Ryan J Field所说的话没有太多补充。我只是想解释一下。
不查看您的数据,我可能是完全错误的。
我已经使用示例数据wine
进行了测试。当〜的左侧为数字时,模型仅给出此类错误消息。当我用数字值替换其他变量时,它没有给男人任何错误信息。
似乎您可能有两个helpfulness
:在数据helpfulness
中一个向量helpfulness
和一个变量hyp1data
。
> unique(helpfulness)
[1] 4 2 1 3 0
Levels: 0 < 1 < 2 < 3 < 4
> class(helpfulness)
[1] "ordered" "factor"
仅告诉向量helpfulness
是一个因素。您的变量hyp1data$helpfulness
可能仍然是数字。您可能需要尝试class(hyp1data$helpfulness)
进行检查。
如果不是这种情况,请告诉我。我将删除此答案。