Polr函数错误:“React必须是一个因素”

bnl4lu3b  于 2023-05-04  发布在  React
关注(0)|答案(2)|浏览(170)

我使用polr函数运行有序逻辑回归。Reglog是 Dataframe ,Reglog$wtp是响应变量。这是我的模型中所有变量的列表。

  1. wtp〈- Reglog$WTP
  2. perception〈- Reglog$Persepsi
  3. income〈- Reglog$收入
  4. age〈- Reglog$usia
    1.教育〈- Reglog$usia
  5. experience〈- Reglog$pengalaman
    1.主页〈- Reglog$rumah
    最初,wtpchr,所以我将其转换为ordered factor
Reglog$WTP <- as.ordered(Reglog$WTP) 

str(Reglog) 
tibble [30 x 7] (S3:
tbl_df/tbl/data.frame)  
$ WTP : Ord.factor w/ 3 levels "1"<"2"<"3": 1 1 3 2 2 2 2 1 2 2 ...

结果显示wtp是一个有序因子,但当我使用polr运行回归时,它说wtp不是一个因子。

> model <- polr(wtp~persepsi+pendapatan+usia+pendidikan+pengalaman+pendapatanrt, data = Reglog, Hess = TRUE)
Error in polr(wtp ~ persepsi + pendapatan + usia + pendidikan + pengalaman +  : 
  response must be a factor

我该怎么解决这个问题?谢谢大家。

093gszye

093gszye1#

您可能需要使用method = c("logistic")

polr(wtp ~ persepsi + pendapatan + usia + pendidikan + pengalaman + pendapatanrt, data = Reglog, Hess = TRUE, method = c("logistic"))

如果不管用,试试

polr(as.factor(wtp) ~ persepsi + pendapatan + usia + pendidikan + pengalaman + pendapatanrt, data = Reglog, Hess = TRUE, method = c("logistic"))
70gysomp

70gysomp2#

你必须像这样传递响应变量作为因子

Reglog<- within(Reglog, {  
  wtp  <- factor(wtp , labels=c('l1','l2','l3'))
})

相关问题