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

为何R中lm回归summary缺失分类变量水平且样例报因子错误

问题解答

回归结果未展示Middle分类参数的原因

R中使用lm()拟合包含分类自变量的线性模型时,默认采用**虚拟变量编码(哑变量编码)**规则处理分类因子:

  • 会自动选择因子的第一个水平作为参照组,你输出结果里的(Intercept)截距项,本质就是Middle组的平均叫声数量
  • 其他分类水平的估计值,代表的是该组与参照组(Middle)的均值差值,对应的p值是检验该差值是否显著异于0
  • 因为Middle是参照基准,本身不需要和自己做差异检验,所以不会单独输出系数和p值

如果需要更换参照组,可以使用relevel()函数调整因子水平顺序,例如将Pre设为参照组的代码为:

park2$Pup <- relevel(park2$Pup, ref = "Pre")

重新拟合模型后就会输出Middle和Post两组的参数结果。

样例代码报错的原因

你样例数据中的Calls变量赋值为带引号的字符串类型:Calls<- c("55","60","180","160","110","50"),线性回归要求因变量为数值类型,将字符型变量传入lm()作为因变量就会触发类型错误。
只要把Calls的赋值引号去掉,改成数值型即可正常运行:

Calls<- c(55,60,180,160,110,50) 

内容的提问来源于stack exchange,提问作者elyse.mallinger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:45:04