eval(family$initialize) 中的 glm 错误:y 值必须为 0 <= y <= 1 但值是 0 和 1
glm Error in eval(family$initialize) : y values must be 0 <= y <= 1 BUT values ARE 0 and 1
我有一个如下所示的数据集:
Act Day Sin
1 1 Monday 3
2 0 Tuesday 0
3 0 Wednesday 1
我正在尝试对 Act 列进行线性回归。我阅读了有关虚拟变量的信息,因此我像这样为每一天添加列:
data$Mon = ifelse(data$Day=="Monday", 1, 0)
... and so on for the other days
这给了我这样的数据
Act Day Sin Mon Tue Wed Thu Fri Sat
1 1 Monday 3 1 0 0 0 0 0
2 0 Tuesday 0 0 1 0 0 0 0
3 0 Wednesday 1 0 0 1 0 0 0
... and so on
然后当我尝试像这样创建我的模型时:
glm.fit <- glm(Activity ~ Mon, data = data, family = binomial)
我收到以下错误:
Error in eval(family$initialize) : y values must be 0 <= y <= 1
我看了很多关于这个错误的其他帖子,他们都建议将 y 值设置为 1 和 0。但是我的 'Mon' 列已经是值 0 和 1。我做错了什么?
我将我的因变量包装到一个 as.factor 中并且有效:
glm.fit <- glm(as.factor(Activity) ~ Mon, data = data, family = binomial)
我有一个如下所示的数据集:
Act Day Sin
1 1 Monday 3
2 0 Tuesday 0
3 0 Wednesday 1
我正在尝试对 Act 列进行线性回归。我阅读了有关虚拟变量的信息,因此我像这样为每一天添加列:
data$Mon = ifelse(data$Day=="Monday", 1, 0)
... and so on for the other days
这给了我这样的数据
Act Day Sin Mon Tue Wed Thu Fri Sat
1 1 Monday 3 1 0 0 0 0 0
2 0 Tuesday 0 0 1 0 0 0 0
3 0 Wednesday 1 0 0 1 0 0 0
... and so on
然后当我尝试像这样创建我的模型时:
glm.fit <- glm(Activity ~ Mon, data = data, family = binomial)
我收到以下错误:
Error in eval(family$initialize) : y values must be 0 <= y <= 1
我看了很多关于这个错误的其他帖子,他们都建议将 y 值设置为 1 和 0。但是我的 'Mon' 列已经是值 0 和 1。我做错了什么?
我将我的因变量包装到一个 as.factor 中并且有效:
glm.fit <- glm(as.factor(Activity) ~ Mon, data = data, family = binomial)