在统计编程语言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)
我正在寻找更优雅的东西.
我不知道它是否更优雅,但poly函数可以采用多个向量:
z ~ poly(x, y, degree=2)
Run Code Online (Sandbox Code Playgroud)
这将创建您要求的所有组合,而无需其他组合.请注意,当这样做时,您需要指定degree = 2,而不仅仅是2.