У меня есть пользовательская функция fit_xgb
, которая принимает несколько параметров:
fit_xgb(train_df = training_data,
test_df = testing_data,
training_features = c("spender", "spend_7d", "spend_30d", "d7_utility_sum", "recent_utility_ratio", "IOS",
"is_publisher_organic", "is_publisher_facebook"),
hyper_param = hyperparam_value,
binary_target = "spender",
regression_target = paste0("spend_", day_m, "d"),
spend_from = paste0("spend_", day_n, "d"),
spend_to = paste0("spend_", day_m, "d"))
У меня есть другая пользовательская функция fit_rf
, которая принимает те же параметры:
fit_rf(train_df = training_data,
test_df = testing_data,
training_features = c("spender", "spend_7d", "spend_30d", "d7_utility_sum", "recent_utility_ratio", "IOS",
"is_publisher_organic", "is_publisher_facebook"),
hyper_param = hyperparam_value,
binary_target = "spender",
regression_target = paste0("spend_", day_m, "d"),
spend_from = paste0("spend_", day_n, "d"),
spend_to = paste0("spend_", day_m, "d"))
Вместо объясните параметры каждый раз, когда я вызываю любую из этих двух функций, я хотел бы создать одну переменную, которую я могу вызвать один раз:
model_function_params <- list(
train_df = training_data,
test_df = testing_data,
training_features = c("spender", "spend_7d", "spend_30d", "d7_utility_sum", "recent_utility_ratio", "IOS",
"is_publisher_organic", "is_publisher_facebook"),
hyper_param = hyperparam_value,
binary_target = "spender",
regression_target = paste0("spend_", day_m, "d"),
spend_from = paste0("spend_", day_n, "d"),
spend_to = paste0("spend_", day_m, "d"))
fit_rf(model_function_params)
fit_xgb(model_function_params)
Это не работает. Я знаю, что мне нужно было бы указать каждый компонент списка с помощью
training_data = model_function_params$train_df
test_df = model_function_params$test_df
etc
Но это почти сводит на нет цель написания меньшего количества кода и сохранения минимума в моем сценарии.
Есть ли элегантный способ определить параметры функции один раз, а затем перейти к fit_rf или fit_xgb без необходимости дважды указывать параметры в моем коде?