我想用一个因变量在 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 模型进行幂运算。
最佳答案
您可以使用 聚合物
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 ,因此您必须调整您的公式。
注意:聚合物 是 的包装器聚 ,因此您可以在相同的调用中使用后者。
关于r - R 中具有多个自变量的多项式回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729512/