gpt4 book ai didi

python - 如何从 Spyder (python) Anaconda 调用 R 代码?

转载 作者:行者123 更新时间:2023-12-01 08:13:31 25 4
gpt4 key购买 nike

我有一个 Python 数学优化算法,每次我必须评估函数值时,我都必须调用 R 脚本,其中编写了模拟代码(基于模拟的优化)。在尝试链接这两个代码之前,我想了解如何更轻松地链接某些内容。假设我有这个小 R 脚本:

x <- c(1,2,3,4,5,6)
y <- c(2,3,4,54)
x1 <- mean(x)
y1 <- mean(y)
z <- x1 + y1
print(z)

我想从 Spyder (Anaconda) 调用它,以便 z 显示在我的控制台上。我已经阅读了有关 rpy2 库的内容,但据我了解(如果我错了,请纠正我),我应该用 Python 编写等效的 R 代码。有谁知道更简单的方法来做到这一点? (我无法在 R 中很好地编写代码,因此,我无法翻译我拥有的模拟代码)。如有必要,R 将安装在 Windows 环境中,如 Anaconda。先感谢您!

最佳答案

在尝试了其他几个选项之后,子流程似乎工作得足够好。您可以通过子进程从 Python 运行 R 脚本并提供函数值作为参数 (x):

def R_script_runner(x):
import subprocess
output=subprocess.run(
["your_path_to_R_source_folder/Rscript.exe", "your_path_to_R_script/R_script.R", x],
shell=True, stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stderr
return output

R 脚本将执行其应该执行的操作。函数返回的输出主要用于调试目的,因此您可以打印它或以其他方式进行评估..

关于python - 如何从 Spyder (python) Anaconda 调用 R 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55090479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com