python 怎么调用r脚本

python 怎么调用r脚本

作者:William Gu发布时间:2026-03-25阅读时长:0 分钟阅读次数:3

用户关注问题

Q
如何在Python中执行R脚本文件?

我有一个现成的R脚本,想在Python程序中调用并运行,该怎么操作?

A

使用subprocess模块运行R脚本

可以利用Python的subprocess模块,通过命令行调用Rscript执行R脚本。示例代码如下:

import subprocess
result = subprocess.run(['Rscript', 'script.R'], capture_output=True, text=True)
print(result.stdout)

这样可以在Python中运行R脚本并获取其输出。

Q
有没有库能让Python和R直接交互?

想在Python代码里直接调用R函数,传递数据并获取结果,有没有方便的工具?

A

推荐使用rpy2库实现Python和R的无缝连接

rpy2是一个强大的Python库,可以让你在Python中直接调用R函数、传递数据框、执行R代码。安装方法:pip install rpy2。示例用法:

import rpy2.robjects as robjects
robjects.r('source("script.R")')
res = robjects.r('your_r_function()')
print(res)

这种方式适合需要频繁交互的场景。

Q
调用R脚本时如何处理数据传递和返回值?

在Python中调用R脚本后,如何将数据传给R,并且获取R运行结果?

A

两种数据交互方式供选择

一种方式是使用文件交换数据,比如Python写入CSV,R脚本读取CSV处理后再输出结果文件,Python再读取结果。另一种方式使用rpy2库,可以直接传递Pandas数据框给R的数据框,并获得R函数返回值,避免文件读写。根据需求选择合适方案。