Прежде чем пытаться свернуть свой собственный, посмотрите на модель объекта (используйте str(r)
, чтобы получить пик на то, что там) или искать соответствующие биты в документации. От ?lm
:
model, x, y, qr
логические выражения. Если TRUE
возвращаются соответствующие компоненты подгонки (модельная модель, модельная матрица, ответ, QR-разложение).
Поскольку model
по умолчанию является истинным, все, что нам нужно сделать, это искать его в результате. Значение раздел документации описывает объект, возвращаемый:
y
, если требуется, ответ используется.
x
если требуется, используется матрица модели.
model
если требуется (по умолчанию), используется рамка модели.
Теперь пример:
> mod = lm(mpg ~ disp + I(disp^2), data = mtcars)
> head(mod$model)
mpg disp I(disp^2)
Mazda RX4 21.0 160 25600
Mazda RX4 Wag 21.0 160 25600
Datsun 710 22.8 108 11664
Hornet 4 Drive 21.4 258 66564
Hornet Sportabout 18.7 360 129600
Valiant 18.1 225 50625
Обратите внимание, что это строго данные и по-прежнему data.frame
. если вы хотите получить модельную матрицу, a matrix
с фиктивными переменными для перехвата и любых факторов, установите x = TRUE
в сообщении lm
, а затем просмотрите mod$x
.