2013-12-18 160 views
3

我已经在python中编写了一个小程序,并且我想创建一个R接口/ R包来运行此程序。为python源代码创建R包

我看到Rpy有很多从python调用R的函数,而rPython可以从R调用python函数。我还看到一些关于如何用C++源代码创建R包的教程。但是,我不清楚如何从python源代码创建一个R包。

因为一切都写在python,我的目标是创建A R包,可以调用Python程序,如:

pythonProgram(输入1,输入2,输入3)

的教程/方法的任何建议开始将非常感激!

+1

可能最好先发布一些你写的代码,然后我们可以帮助修复特定的失败。 SO更多的是解决具体问题。我们不是一个教程网站。试试programmers.SE –

回答

0

如果你在jython下运行你的python代码,那么它可以以rSymPy包的工作方式完成。检查它的source code

1

如果你的Python脚本不需要任何返回R,你可以使用基础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脚本写入标准输出,并用shellsystem读取输出。