我在python中编写了一个小程序,我想创建一个R接口/ R包来运行这个程序。
我看到Rpy有很多函数可以从python调用R,而rPython可以从R调用python函数。我还看到一些关于如何使用C ++源代码创建R包的教程。但是,我不清楚如何从python源代码创建一个R包。
由于所有内容都是用python编写的,我的目标是创建一个可以调用python程序的R包,如:
pythonProgram(input1,input2,input3)
任何关于教程/入门方法的建议都将受到高度赞赏!
答案 0 :(得分:1)
如果你的python脚本不需要向R返回任何东西,你可以使用base R,它可以像这样简单:
pythonProgram <- function(input1, input2, input3) {
command <- paste("pyprog.py -i1",input1,"-i2",input2,"-i3",input3)
shell(command)
}
请查看shell
(以及system
)的帮助。两者都允许您运行任意系统命令。
如果python脚本需要将数据返回给R,您可以让python脚本写入日志文件,然后让R读取它。或者你可以让你的python脚本写入stdout并让shell
或system
读取该输出。
答案 1 :(得分:0)
如果你在jython下运行你的python代码,那么它可以以rSymPy包的工作方式完成。检查其source code。