所有一阶和二阶预测因子的公式,包括R中的相互作用

chr*_*ris 7 r formula

在统计编程语言R中,使用以下公式(在lm()或glm()中使用)

z ~ (x+y)^2  
Run Code Online (Sandbox Code Playgroud)

相当于

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

假设,我只有连续的预测因子,有一种简明的方法可以获得

z ~ I(x^2) + I(y^2) + I(x) + I(y) + I(x*y)
Run Code Online (Sandbox Code Playgroud)

为因子预测器做正确事情的公式是一个优点.

一种可能的解决方案是

z ~ (poly(x,2) + poly(y,2))^2
Run Code Online (Sandbox Code Playgroud)

我正在寻找更优雅的东西.

Gre*_*now 9

我不知道它是否更优雅,但poly函数可以采用多个向量:

z ~ poly(x, y, degree=2)
Run Code Online (Sandbox Code Playgroud)

这将创建您要求的所有组合,而无需其他组合.请注意,当这样做时,您需要指定degree = 2,而不仅仅是2.