首页 > 解决方案 > 以分类变量为响应变量的逻辑回归

问题描述

我正在尝试将分类变量作为 glm 函数的响应变量。所以我最初是这样做的:

logreg_ <- glm(Genre ~ price, data = train)
msummary(logreg_)

但是,它只是给出了这个结果,我不知道如何解决这个问题。

Error in y - mu : non-numeric argument to binary operator

这些列的 glimpse() 如下所示:

$ Genre            <chr> "Strategy", "Strategy", "Early Access", "Early Access",~
$ price            <dbl> 0.00, 0.79, 3.99, 11.39, 5.59, 0.79, 10.99, 5.79, 1.69,~

我应该怎么办?

标签: rlogistic-regression

解决方案


正如@Brian 所说,对于逻辑回归,您需要指定glm(...,family="binomial),第二个结果必须是 a factor。一个玩具例子:

set.seed(4)
df <- data.frame(y =sample(letters[1:4],100,replace = T),x=runif(100),stringAsFactor=T)
str(df)
logreg<- glm(y ~ x, data = df,family = "binomial")
summary(logreg)

推荐阅读