我正在编写一个使用 Python 与 R 交互的程序。基本上,我有一些 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= "+")))
如果我的数据中有很多列,则公式并不总是得到公式化。我应该怎么做才能让它始终工作?我用+
运算符连接所有列的名称。