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

What does "/" mean in R when writing a regression formula in lm()

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

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

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 以及 disphp 之间的交互对 mpg 进行建模。