I()
необходимо, чтобы оценить преобразования вашего data
в формуле. В вашем случае это означает speed^2
как функцию age
, age^2
, log(age)
et c.
Без включения I()
ваш x^2
будет интерпретирован как x
(как упомянуто @ruibarradas, x*y
равно x + y + x:y
в формуле R
, таким образом x^2
равно просто x+x+x:x = x
):
Например,
head(lm(mpg ~ disp, data = mtcars)$model)
mpg disp
Mazda RX4 21.0 160
Mazda RX4 Wag 21.0 160
Datsun 710 22.8 108
Hornet 4 Drive 21.4 258
Hornet Sportabout 18.7 360
Valiant 18.1 225
дает ту же модель, что и
head(lm(mpg ~ disp^2, data = mtcars)$model)
mpg disp
Mazda RX4 21.0 160
Mazda RX4 Wag 21.0 160
Datsun 710 22.8 108
Hornet 4 Drive 21.4 258
Hornet Sportabout 18.7 360
Valiant 18.1 225