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

时间:2015-02-25 21:03:26

标签: r

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

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型号的力量,这是更长的。

1 个答案:

答案 0 :(得分:13)

您可以使用 polym

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

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

如果您使用 degree = 3 ,则会添加更高阶的交互,例如 I(x1 ^ 2):x2 + I(x2 ^ 2):x1 ,因此你必须调整你的公式。

注意: polym poly 的包装器,因此您可以将此后者用于同一个调用。