当在lm()函数中编写回归公式时,R中的“/”表示交互作用。

22

公式就像这样。我不是很理解符号“/”的用法。它似乎通常用于虚拟变量。但是我对它的用法不确定。

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

3
我认为你在这里首先提出了数学运算中x被z除的操作,并且该计算的结果在回归模型中被用作预测变量。然而,那是不正确的。 - Lennyy
1个回答

20

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


官方文档链接:定义统计模型;公式 - phiver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接