r - 获取每个分类变量的 lm 估计值
问题描述
所以我正在做一个多元线性回归,看看裂缝密度和岩石类型是否会影响岩石中的后退率。
retreat <- lm(retreat_rate ~ fracture_dens + rock_unit, data = coast)
> summary(retreat)
我希望它将“rock_unit”视为一个类别。我在向量中有两种岩石类型。这是我目前的结果。
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.22631 0.53806 -0.421 0.676353
fracture_dens 0.11467 0.02704 4.241 0.000132 ***
rock_unitSC_mudstone 1.73490 0.36097 4.806 2.3e-05 ***
我希望有“SC_mudstone”和“Purisima”(另一种岩石类型),而不是现在给我的“rock_unitSC_mudstone”。
解决方案
这是线性模型的典型结果:变量rock_unitSC_mudstone
是一个虚拟变量,定义为:
如果岩石单元 = SC_mudstone,rock_unitSC_mudstone = 1,否则为 0。
添加另一个变量rock_unitPurisima
会导致模型矩阵 $X$ 没有满秩。
无论如何,您不需要该rock_unitPurisima
变量。您可以将结果解释如下:
SC_mudstone 的平均撤退率 = -0.22631 + 1.73490 Purisima 的平均撤退率 = -0.22631
如果您坚持使用变量rock_unitPurisima
,则可以将截距设置为零:
retreat2 <- lm(retreat_rate ~ 0 + fracture_dens + rock_unit, data = coast)
但正如我所说,截距和两个虚拟变量只会包含太多信息。
希望这会有所帮助。
推荐阅读
- java - 同步队列的所有消费者以一次只处理一条消息
- swift - SwiftUI:同步 2 个动画函数(CAMediaTimingFunction 和 Animation.timingCurve)
- ssis - 如何在 SSIS 中将 UNICODE 转换为字符串(ANSI 1256)
- html - Css横幅没有出现
- swift - 同一个 Int 在 Swift 中有不同的值,神秘的谜语
- sql - 当我显示数据并仅获取 hh:mm:ss am 格式时,是否可以从 Oracle SQL DATE 隐藏 dd-mon-yyyy 组件?
- python - 将类对象传递给另一个类方法Python
- node.js - 在 jwt 验证后,状态更改不存在
- version-control - Redmine:其他计算机如何连接到我在 Windows 上的项目?
- screen - 如何在 Grav Learn2 上制作选项卡式代码屏幕