在lm()中写回归公式时,"/"在R中意味着什么

Roy*_*Roy 20 r lm

公式就是这样.我不太明白"/"这个概念的用法.似乎"/"通常用于虚拟变量.但我不确定它的用法.

lm(y~x/z,data = data.frame(x = rnorm(6), y = rnorm(6), z = rep(0:1,each=3)))
Run Code Online (Sandbox Code Playgroud)

Len*_*nyy 17

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  
Run Code Online (Sandbox Code Playgroud)

所以,在你做什么建模设计mpg基于disp单独和之间的相互作用disphp.