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

时间:2018-06-11 09:12:20

标签: r lm

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

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

1 个答案:

答案 0 :(得分: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  

那么,您所做的就是仅基于mpg以及dispdisp之间的互动来建模hp