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

使用tidymodels调用fit函数时为何出现报错?

问题分析与解答

问题背景

尝试生成模型拟合结果时,触发以下错误:

Error in apply(x$counts, 1, min) : must have a positive greeting

提供的可复现代码:

model <- linear_reg() %>%
  set_engine("lm")

base_wf <- workflow() %>%
  add_model(model)

formula_wf <- base_wf %>%
  add_formula(mpg ~ cyl + log(disp))

fit(formula_wf, mtcars)

核心问题说明

你给出的可复现代码无法触发上述错误:这段代码基于tidymodels工具链拟合线性回归,使用mtcars数据集的数值型变量,运行后能正常输出拟合结果,完全不涉及apply(x$counts, 1, min)这类针对计数矩阵的操作。

错误来源推测

你看到的错误提示存在明显异常(must have a positive greeting应为拼写错误,正确提示大概率是must have a positive length),这类错误通常出现在处理计数型数据集的场景中(比如基因表达分析里的count矩阵),比如使用edgeR等包时,若矩阵中存在全0行、空行或非正数值,就会触发该提示。

可能的触发原因:

  • 错误信息与实际运行的代码不匹配,你可能误粘贴了另一段处理计数数据的代码的错误;
  • R环境中存在同名对象冲突:比如提前赋值了名为x的计数矩阵对象,导致当前代码执行时意外调用了该对象;
  • 包版本或依赖冲突,但这不会直接导致这类和计数矩阵强相关的错误。

验证建议

  1. 重新运行你提供的代码,确认是否能正常输出拟合结果;
  2. 检查当前R环境中的对象列表(用ls()),确认是否存在名为x的计数类对象;
  3. 若实际是处理计数数据时触发错误,提供对应场景的可复现代码。

内容的提问来源于stack exchange,提问作者Tayane Varela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:12:38