":"和"|"之间的区别 在R线性建模中

eyk*_*nal 6 r operators

在R中构造线性模型时,以下两个语句之间有什么区别:

lm(y ~ x | z)
lm(y ~ x : z)
Run Code Online (Sandbox Code Playgroud)

lm函数文档记录了:操作如下:

表格的说明第一:第二表示通过首先将所有术语与第二个中的所有术语相互作用而获得的术语集.

|该页面上没有提及语法.有什么不同?

Ric*_*ton 11

:用于交互.在您的示例中lm(y ~ x : z),公式表示"y取决于x和之间的交互效应z.

通常,除非您还包括单个术语x,否则您不会在此类线性回归中包含交互z. x * z是的缩写x + x:z + z.

|完全没有使用AFAIK lm.它当然没有出现在任何一个例子中demo("lm.glm", "stats").它用于nlme包装中的混合效果模型.

一个例子来自?intervals.lme:

model <- lme(distance ~ age, Orthodont, random = ~ age | Subject)
ranef(model)
Run Code Online (Sandbox Code Playgroud)

这里的|意思是"分组依据".也就是说,对于每个受试者来说,适合年龄的不同随机效应.(看ranef(model),你可以看到每一行对应一个人(主题)的随机效果.)

  • `lm(y ~ x + x:z + z + k)` 和 `lm(y ~ x*z + k)` 之间有区别吗? (2认同)
  • @sop他们是一回事.如果需要说服,请尝试使用真实数据集. (2认同)