我希望能够使用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" ?
答案 0 :(得分:2)
我将两种方法(RPy与命令行脚本)视为两个独立的部分。如果使用RPy,则无需传递命令行参数。您只需创建一个包含要在R中运行的功能的函数,并使用arg1
,arg2
,arg3
从Python调用该函数。
如果要在Python中使用R命令行脚本,请查看Python中的subprocess
library。在那里,您可以使用以下命令从命令行调用和R脚本:
import subprocess
subprocess.call(['Rscript', 'script.R', arg1, arg2, arg3])
其中arg1
,arg2
,arg3
是包含您要传递给R脚本的信息的python对象(例如字符串)。