将多个参数从python传递给R

时间:2017-03-16 01:12:59

标签: python r python-2.7 subprocess

我有一个调用多个R脚本的python脚本,到目前为止我可以成功传递单个和多个变量,请求R读取并执行它。我当前的方法非常粗糙,只有在传递字符串时才有效,并且数字失败。有没有一种有效的方法来完成这项任务?

var User = mongoose.model('User', UserSchema);

1 个答案:

答案 0 :(得分:3)

您应该将[r_path, script]a_list连接起来以生成一个单位列表。

script.R

options(echo=TRUE)
args <- commandArgs(trailingOnly = TRUE)
print(args)

Python repl

>>> commands = ["rscript", "script.R"]
>>> args = ["C:/SomeFolder", "abc", "25"]
>>> subprocess.call(commands + args, shell=True)
> args <- commandArgs(trailingOnly = TRUE)
>
> print(args)
[1] "C:/SomeFolder" "abc"           "25"