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

Chr*_*est 3 python r rpy2

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

因此,如果我的 R 脚本 ( trivial_script.r) 如下所示:

print(commandArgs(TRUE))
Run Code Online (Sandbox Code Playgroud)

我的 Python 2.7 脚本如下所示:

>>> import rpy2.robjects as robjects
>>> script = robjects.r.source('trivial_script.r')
Run Code Online (Sandbox Code Playgroud)

如何使用参数“arg1”、“arg2”、“arg3”从 rpy2.robjects 调用它?

Pau*_*tra 5

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

如果您想在 Python 中使用 R 命令行脚本,请查看Python 中的subprocess库。您可以使用以下命令从命令行调用 R 脚本:

import subprocess
subprocess.call(['Rscript', 'script.R', arg1, arg2, arg3])
Run Code Online (Sandbox Code Playgroud)

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