Я пишу программу, которая взаимодействует с R, используя Python. По сути, у меня есть несколько библиотек R, которые я хочу включить в свой код Python. После загрузки rpy2
я определяю свои функции R, которые хочу использовать, в отдельном .R
файловом скрипте.
Функция R требует, чтобы мы передали ей формулу для применения некоторой техники oversampling
. Ниже приведена функция R, которую я написал:
WFRandUnder <- function(target_variable, other, train, rel, thr.rel, C.perc, repl){
a <- target_variable
b <- '~'
form_begin <- paste(a, b, sep=' ')
fmla <- as.formula(paste(form_begin, paste(other, collapse= "+")))
undersampled = RandUnderRegress(fmla, train, rel, thr.rel, C.perc, repl)
return(undersampled)
}
Я передаю от python имя целевой переменной, а также список, содержащий имена всех других столбцов. Как я хочу, чтобы это было следующим: my_target_variable ~ all other columns
Однако в этих строках:
a <- target_variable
b <- '~'
form_begin <- paste(a, b, sep=' ')
fmla <- as.formula(paste(form_begin, paste(other, collapse= "+")))
Формула не всегда формулируется, если в моих данных много столбцов. Что я должен сделать, чтобы это всегда работало? Я объединяю имена всех столбцов с оператором +
.