使用Python rpy2中的命令行参数调用R脚本

时间:2015-03-16 05:34:51

标签: python r rpy2

我希望能够使用rpy2模块从python调用R文件。 我希望能够将参数传递给这些可由R& commandArgs函数解释的脚本。

所以如果我的R脚本(trivial_script.r)看起来像:

print(commandArgs(TRUE))

我的Python 2.7脚本如下:

>>> import rpy2.robjects as robjects
>>> script = robjects.r.source('trivial_script.r')

如何从rpy2.robjects中调用参数" arg1"," arg2"," arg3" ?

1 个答案:

答案 0 :(得分:2)

我将两种方法(RPy与命令行脚本)视为两个独立的部分。如果使用RPy,则无需传递命令行参数。您只需创建一个包含要在R中运行的功能的函数,并使用arg1arg2arg3从Python调用该函数。

如果要在Python中使用R命令行脚本,请查看Python中的subprocess library。在那里,您可以使用以下命令从命令行调用和R脚本:

import subprocess
subprocess.call(['Rscript', 'script.R', arg1, arg2, arg3])

其中arg1arg2arg3是包含您要传递给R脚本的信息的python对象(例如字符串)。