我正在尝试使用polr在R中进行有序回归。
我已导入我的数据:
data <-read.spss(...data file info..)
并且已经计算出了模型所需的额外变量。
data$newvariable <-(data$x1 + data$x2 + data$x3 + data$x4)
然后我创建了模型:
model1 <- polr(outcome ~ pred1 + pred2+ pred3, data = data, Hess=TRUE, method = c("logistic"))
然而,我得到了错误代码:
Error in polr(outcome ~ pred1 + pred2 + pred3, data = data, Hess = TRUE, :
response must be a factor
关于如何绕过这个问题有什么想法吗?我仍然对R感到满意,所以如果这是一个很标准的问题,我很抱歉。谢谢
解决方案非常简单,只需将as.factor()
添加到响应中即可。
model1 <- polr(as.factor(outcome) ~ pred1 + pred2+ pred3, data = data, Hess=TRUE, method = c("logistic"))