2013-12-18 161 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讀取輸出。