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

nhanes2数据线性回归结果中未显示age(20-39)因子的原因咨询

你的猜测并不正确,原因是这样的

在R中使用线性回归(lm()函数)处理因子型自变量时,默认会把因子的第一个水平当作「参考组(基准组)」,不会在回归结果的系数列表里单独显示它的数值——因为其他组的系数都是和这个参考组对比得出的差异值,它的影响已经隐含在模型的截距项里了。

针对你的案例:

  • 数据集nhanes2中的age变量是一个包含三个水平的因子:20-39、40-59、60-99
  • 当你用factor(age)将其纳入模型时,R默认把排序最靠前的20-39作为参考组
  • 结果里显示的factor(age)40-59系数,代表的是「40-59岁组相对于20-39岁组,对chl的平均影响差异」;factor(age)60-99则是「60-99岁组相对于20-39岁组的差异」

如果你想验证这一点,或者想更换参考组,可以用relevel()函数调整:

# 将60-99设为参考组
nhanes2.lm <- lm(chl~relevel(factor(age), ref = "60-99")+bmi, data=nhanes2)
summary(nhanes2.lm)

这时候你会发现结果里不再显示factor(age)60-99,取而代之的是20-39和40-59的系数,它们都是和60-99岁组对比的差异。

总结一下:20-39组完全纳入了模型,只是作为基准组隐藏在了截距和其他组的系数对比中,并没有被排除在外~

内容的提问来源于stack exchange,提问作者Aram K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:33:47