2017-10-20 88 views
0

我从基础R和尖等效模型模型对象:差异被插入符返回对基础

base_lm <- lm(mpg ~ cyl, data = mtcars) 

library(caret) 
caret_lm <- train(
    mpg ~ cyl, 
    data = mtcars, 
    method = "lm" 
) 

我想从插入符号与我的线性模型使用statisticalModelling包:

statisticalModeling::evaluate_model(caret_lm) 
Error in UseMethod("explanatory_vars") : 
    no applicable method for 'explanatory_vars' applied to an object of class "c('train', 'train.formula')" 

的尝试:

statisticalModeling::evaluate_model(caret_lm$finalModel) 
Error in eval(expr, envir, enclos) : object 'dat' not found 

它确实与基础R线性模型

statisticalModeling::evaluate_model(base_lm) 

    cyl model_output 
1 0 37.884576 
2 5 23.505626 
3 10  9.126675 

有没有办法在统计建模包中使用脱字符号模型?

+0

是'lm_mod $ finalModel'你在找什么呢?否则,一个可重复的例子会有所帮助。 –

+0

嗨@DavidHeckmann,更新的问题与可重复的例子。不知道这是否可能,但肯定会很方便。 –

回答

2

用火车对象的finalModel插槽,并指定数据明确地预测:

pred_base <- evaluate_model(base_lm , data = mtcars[,1:2]) 

pred_caret <- evaluate_model(caret_lm$finalModel , data = mtcars[,1:2]) 
# compare predictions: 
all(pred_base$model_output == pred_caret$model_output) 
[1] TRUE