gpt4 book ai didi

r - 使用传递参数从 python 代码调用 R 函数

转载 作者:行者123 更新时间:2023-12-02 20:23:46 27 4
gpt4 key购买 nike

rtest = function(input ,output) {
a <- input
b <- output
outpath <- a+b
print(a+b)
return(outpath)
}

我刚刚将此 R 代码作为获取两个数字之和的函数返回。我尝试通过传递 2 个数字作为参数来使用子进程从我的 python 代码运行此函数。但它不返回总和值作为返回输出。你知道在 python3 中通过传递函数参数来实现这个的任何方法吗?

我使用子进程的 python 代码是:

args=['3','10'] # (i tried to pass aruments like this) 
command="Rscript"
path2script = '/...path/rtest.R'
cmd = [command, path2script] +args
x = subprocess.check_output(cmd, universal_newlines=True)
print(x)

但是 x 返回 ' ' 空值

最佳答案

这可以通过 python 中的 rpy2 库轻松完成。

    import rpy2.robjects as ro
path="specify/path to/ R file"

def function1(input,output):
r=ro.r
r.source(path+"rtest.R")
p=r.rtest(input,output)
return p


a=function1(12,12) # calling the function with passing arguments

谢谢。

关于r - 使用传递参数从 python 代码调用 R 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50585315/

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