在 lm() 中编写回归公式时,“/”在 R 中是啥意思
Posted
技术标签:
【中文标题】在 lm() 中编写回归公式时,“/”在 R 中是啥意思【英文标题】:What does "/" mean in R when writing a regression formula in lm()在 lm() 中编写回归公式时,“/”在 R 中是什么意思 【发布时间】:2018-11-20 11:47:56 【问题描述】:公式是这样的。我不太明白“/”这个概念的用法。似乎“/”通常用于虚拟变量。但我不确定它的用法。
lm(y~x/z,data = data.frame(x = rnorm(6), y = rnorm(6), z = rep(0:1,each=3)))
【问题讨论】:
我认为您在这里首先建议的是 x 除以 z 的数学运算,并且该计算的结果用作回归模型中的预测变量。但这并不正确。 【参考方案1】:lm(y ~ x/z, data)
只是lm(y ~ x + x:z, data)
的快捷方式
这两个给出相同的结果:
lm(mpg ~ disp/hp,data = mtcars)
Call:
lm(formula = mpg ~ disp/hp, data = df)
Coefficients:
(Intercept) disp disp:hp
2.932e+01 -3.751e-02 -1.433e-05
lm(mpg ~ disp + disp:hp, data = mtcars)
Call:
lm(formula = mpg ~ disp + disp:hp, data = mtcars)
Coefficients:
(Intercept) disp disp:hp
2.932e+01 -3.751e-02 -1.433e-05
所以,您所做的是仅基于disp
以及disp
和hp
之间的交互对mpg
建模。
【讨论】:
官方文档链接Defining statistical models; formulae以上是关于在 lm() 中编写回归公式时,“/”在 R 中是啥意思的主要内容,如果未能解决你的问题,请参考以下文章