You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python脚本中导入R脚本calc.R中的add函数?

在Python中调用R脚本里的函数

当然可以实现!想要在Python的test.py里调用R脚本calc.R中的add函数,你可以借助rpy2这个专门用于Python与R交互的库,实现起来和你熟悉的Python模块导入逻辑很接近。下面是两种实用的解决方案:

方案1:将R脚本封装为可导入的模块

这种方式最接近你习惯的from calc import add的使用体验,通过rpy2的STAP工具把R代码封装成Python可识别的模块:

from rpy2.robjects.packages import STAP

# 读取calc.R的代码内容
with open("calc.R", "r") as r_script:
    r_code = r_script.read()

# 将R代码封装为名为"calc"的模块
calc = STAP(r_code, "calc")

# 直接像调用Python函数一样使用add
result = calc.add(3, 7)
print(result)  # 输出10

方案2:加载R脚本后直接获取函数

如果不需要封装成模块,也可以直接加载R脚本,然后提取其中的函数使用:

from rpy2.robjects import r

# 加载当前目录下的calc.R脚本
r.source("calc.R")

# 从R环境中获取add函数
add = r["add"]

# 调用函数并打印结果
print(add(5, 2))  # 输出7

注意事项

  • 首先需要安装rpy2:在终端执行pip install rpy2即可。
  • 确保你的系统已经安装了R环境,且rpy2能正确识别R的路径(如果遇到路径问题,可以设置环境变量R_HOME指向你的R安装目录)。
  • 如果需要处理复杂数据类型(比如Pandas数据框和R数据框的转换),可以导入rpy2.robjects.pandas2ri并启用转换:pandas2ri.activate()。

内容的提问来源于stack exchange,提问作者Yash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:16:17