问题 R中的多项式回归与多个自变量


我想在R中用一个因变量进行多项式回归 y 和两个独立的变量 x1 和 x2。在我看来,模型应如下所示,

y=b0 + b1x1+ b2x2+ b3x1^2+ b4x2^2+ b5x1x2

我试过了 lm(y~x1+x2+poly(x1,2,raw=TRUE)+poly(x2,2,raw=TRUE)) 并且 lm(y~x1+x2+I(x1^2)+I(x2^2))。但这只给出了正方形,而不是两个变量的乘积。

我能做到的 lm(y~x1+ x2+ x1^2+ x2^2+ x1x2)。但我想知道是否有一个比写出整个方程更容易的方法。我也想做3和4型号的力量,这是更长的。


8725
2018-02-25 21:03


起源

您可以添加以下互动: lm(y~poly(x1,2)+poly(x2,2)+x1:x2, dd)。这就是你要追求的吗? - MrFlick


答案:


您可以使用 POLYM

y ~ polym(x1, x2, degree=2, raw=TRUE) # is equivalent to
y ~ x1 + x2 + I(x1^2) + I(x2^2) + x1:x2

但要注意系数的顺序,它们与第二个公式不同。

如果你使用 度= 3 那么它会像这样添加更高阶的交互 I(x1 ^ 2):x2 + I(x2 ^ 2):x1,因此你必须调整你的公式。

NB: POLYM 是一个包装 ,所以你可以使用同一个调用后者。


12
2018-02-25 22:12