我希望能够使用 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')
如何使用参数“arg1”、“arg2”、“arg3”从 rpy2.robjects 调用它?
我将这两种方法(RPy 与命令行脚本)视为两个独立的部分。如果您使用 RPy,则无需传递命令行参数。您只需创建一个包含要在 R 中运行的功能的函数,然后从 Python 调用该函数arg1
, arg2
, arg3
.
如果您想在 Python 中使用 R 命令行脚本,请查看subprocess library https://docs.python.org/2/library/subprocess.html在Python中。您可以使用以下命令从命令行调用 R 脚本:
import subprocess
subprocess.call(['Rscript', 'script.R', arg1, arg2, arg3])
where arg1
, arg2
, arg3
是包含要传递给 R 脚本的信息的 Python 对象(例如字符串)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)