You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言二元逻辑回归报错:object 'Juice_practice' not found 求助

问题原因分析

你遇到的两个错误根源都是数据结构操作失误:

  1. 第一个报错y values must be 0 <= y <= 1:因为初始的Juice_practice列不是二元逻辑回归要求的0/1数值型或二分类因子型,glm的binomial家族无法识别。
  2. 第二个报错object 'Juice_practice' not found:你执行dataTest <- as.factor(dataTest$Juice_practice)时,直接把整个数据框替换成了Juice_practice单列的因子向量——原数据框里的Age、Gender、Education全部丢失,且此时dataTest本身就是Juice_practice的取值,不再是包含该列的数据框,自然找不到名为Juice_practice的变量。
解决步骤及修正代码

核心是不要覆盖原数据框,仅修改Juice_practice列的类型,保留完整的数据结构:

# 读取完整数据框,保留所有变量
dataTest <- read.csv("location.csv")

# 仅将Juice_practice列转为二分类因子,不改变数据框结构
dataTest$Juice_practice <- as.factor(dataTest$Juice_practice)

# 确认数据结构(此时dataTest仍是包含所有列的数据框)
str(dataTest)
head(dataTest)
summary(dataTest)

# 运行二元逻辑回归
logit_model <- glm(Juice_practice ~ Age + Gender + Education,
                   family = binomial, data = dataTest)

# 查看模型结果
summary(logit_model)
额外说明
  • 若Juice_practice原始取值是Yes/No这类字符,转成因子后,glm会自动将第一个因子水平(比如No)设为参考类别,模型结果输出的是相对于参考类别的对数优势比。
  • 你也可以将Juice_practice转为0/1数值型(比如dataTest$Juice_practice <- ifelse(dataTest$Juice_practice == "Yes", 1, 0)),两种方式都符合binomial家族的要求。

内容的提问来源于stack exchange,提问作者Amelia Nicodemus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:33:27