Рассмотрите возможность передачи списка символов моделей, а затем создайте список фреймов данных прогнозируемых значений с lapply
, используя get
на имени объекта. Наконец, объедините список фреймов данных для конечного объекта:
pred_getter <- function(testset, models) {
# GENERATE NAMED LIST OF DATA FRAMES
df_list <- lapply(models, function(m)
data.frame(model = m,
prediction = predict(get(m), testset, type = "prob")[1])
)
# BUILD SINGLE DATA FRAME OF ALL MODELS
pred_df <- do.call(rbind.data.frame, df_list)
}
final_df <- pred_getter(testdf, c("fit_xgb", "fit_glm", "fit_lgt"))