Что означает эта формула для скорости, возраста, миль и года? - PullRequest
0 голосов
/ 16 апреля 2020

Я начинающий. Я встретил эту формулу в некотором коде R: m.formula <- formula(I(speed^2) ~ (age + I(age^2) + I(log(age)) + miles + I(miles^2) + year)). Я вижу, что это определение формулы, дающей результат в терминах переменных скорости, возраста, миль и года, но я не понимаю, что означает I и почему в левой части определения формулы в скобках указано speed^2 , Буду признателен, если кто-нибудь сможет объяснить эту формулу простым английским sh! Заранее спасибо.

1 Ответ

1 голос
/ 16 апреля 2020

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...