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

R中运行summary(glm.object)报错:无法将"summary.glm"类强制转换为data.frame

报错核心原因

summary(glm.object)调用失败的核心是你当前的R环境中,summary泛型函数被更高优先级的对象覆盖,导致R没有正确调度stats包中针对glm类对象的summary.glm方法,转而执行了其他逻辑,最终出现强制类型转换错误。

你直接调用summary.glm(glm1)能正常运行,本质是跳过了泛型调度步骤,直接调用了glm对应的汇总方法,所以不受泛型被覆盖的影响。


验证方法

在控制台直接输入summary并运行,查看输出结果:

  • 正常默认状态下,输出应该如下,明确指向stats包的泛型函数:
function (object, ...) 
UseMethod("summary")
<bytecode: 0x7fe79b0a8a88>
<environment: namespace:stats>
  • 如果输出的函数体不是上面的内容,或者环境指向.GlobalEnv,就说明你的全局环境中存在自定义的同名函数,覆盖了默认泛型。

解决方案
  1. 临时规避:每次调用时指定stats包的泛型,写法为stats::summary(glm1),即可正常输出结果
  2. 永久修复:运行rm(summary)删除全局环境中自定义的同名summary函数,之后再调用summary(glm1)就会恢复默认调度逻辑
  3. 如果重启R后问题复现,说明你上次退出R时保存了包含自定义summary函数的工作空间,清空工作空间后重启R,且下次退出时选择不保存工作空间即可彻底解决。

内容的提问来源于stack exchange,提问作者Dan Phillips

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:36:03