在 R 中,您可以使用包含转换的公式从包中拟合 GAM 模型,mgcv
例如log
orsqrt
并且默认情况下model.frame
返回 (仅在公式中指定的变量应用了转换)。
有什么办法可以恢复未转换的data.frame
?
例子:
reg <- mgcv::gam(log(mpg) ~ disp + I(hp^2), data=mtcars)
返回
> head(reg$model,3)
log(mpg) disp I(hp^2)
Mazda RX4 3.044522 160 12100
Mazda RX4 Wag 3.044522 160 12100
Datsun 710 3.126761 108 8649
但是,我想从模型的model.frame
mpg disp hp
Mazda RX4 21.0 160 110
Mazda RX4 Wag 21.0 160 110
Datsun 710 22.8 108 93
一些背景:newdata
大多数模型predict()
函数的参数需要未转换的数据,所以我无法将反馈model.frame
反馈到predict()
函数中。我已经知道省略newdata
参数将返回拟合值。我的要求是模型对象将原始数据返回给我。