0
是LM(Y〜聚(X1,X2,X3,度= 2,原始= TRUE),數據)
lm(y~poly(x1, x2,x3, degree=2, raw=TRUE), data)
等於
lm(y~x1 + x2 + x3 + x1*x2 + x1*x3 + x2*x3 + x1^2 + x2^2 + x3^2 , data)
?
如果是,爲什麼我們需要設置raw=TRUE
?
是LM(Y〜聚(X1,X2,X3,度= 2,原始= TRUE),數據)
lm(y~poly(x1, x2,x3, degree=2, raw=TRUE), data)
等於
lm(y~x1 + x2 + x3 + x1*x2 + x1*x3 + x2*x3 + x1^2 + x2^2 + x3^2 , data)
?
如果是,爲什麼我們需要設置raw=TRUE
?
您可以輕鬆地測試這個自己:
DF <- data.frame(x1 = 1:2, x2 = 3:4, x3 = 5:6)
with(DF, poly(x1, x2, x3, degree = 2, raw = TRUE))
# 1.0.0 2.0.0 0.1.0 1.1.0 0.2.0 0.0.1 1.0.1 0.1.1 0.0.2
#[1,] 1 1 3 3 9 5 5 15 25
#[2,] 2 4 4 8 16 6 12 24 36
#attr(,"degree")
#[1] 1 2 1 2 2 1 2 2 2
#attr(,"class")
#[1] "poly" "matrix"
列名顯示這三個變量的產品和每個變量在該產品的程度。例如,1.1.0
意味着x1^1 + x2^1 + x3^0
。
當然,您也可以在迴歸模型的輸出中看到這一點。
如果您希望係數對應於原始多項式,即alpha0 + alpha11 * x1^1 + alpha12 * x1^2 + ...
,則需要raw = TRUE
。如果你不需要,你應該而不是設置raw = TRUE
,因爲orthogonal polynomials有一些理想的迴歸分析屬性。