簡體   English   中英

我應該如何為R和Octave方法(可能使用Python)進行快速GUI開發?

[英]How should I do rapid GUI development for R and Octave methods (possibly with Python)?

我們是一個中型學術研究實驗室,其主要輸出是用於分析大型數據集的新統計方法。 我們通常用R和MATLAB / Octave開發。

我們希望通過構建簡單的向導式用戶界面來擴展我們工作的范圍,以訪問我們的方法,如RNAfold等網絡應用程序或分析私有數據的獨立應用程序。

理想情況下,我們希望接口進行一些數據檢查,僅使用FOSS,在Mac和Windows環境中運行,並能夠生成簡單的圖表和圖形,可以作為適合發布的數字輸出。 此外,我們喜歡Python,因為它是實驗室和我們研究社區的流行語言。

但是,我們希望能夠快速,廉價地開發和發布。 我們很幸運能夠為實驗室中的一位開發人員提供資金,並且他/她必須支持多個項目。

有很多團體與我們有着相同的需求和約束,因此能夠為這類挑戰制定一致的長期戰略是有用的。

編輯我要求就四種可能的方法提出意見,包括以下評論摘要:

  1. 從Python調用R和Octave方法。
    回答:
  2. 在Python中重新實現我們的方法。 通常,這並不容易,因為我們的方法依賴於在R和Octave中實現的其他方法。 回答:
    • 沒有評論這種方法,這可能是一個壞主意。
  3. 使用不同的框架來構建用戶界面。
    回答:
    • 如何直接在R中構建GUI和Web應用程序? (來自hadley ,見工具參考答案)
  4. 我們尚未考慮的其他想法,例如與Taverna等工作流管理系統集成。
    回答:

我的首選答案

我首先要研究Spacedman建議的方法:使用QtDesignerPyQt4構建UI並使用RPy調用R. 我們讓很多沒有編程背景的學生想要在實驗室做志願者,而QtDesigner看起來像我們可以訓練他們有效使用的東西。

我想直接在R開發GUI,如hadley推薦但是RQt ,我認為我需要使用QtDesigner,似乎沒有積極開發(最后更新是2009年夏天)。

此外,看起來我們可能必須在R中專門開始實現我們的方法,並從MATLAB / Octave轉換為R.在我的領域,無論如何這可能不是一個壞主意。

附錄:

  1. 用於簡化用戶界面構建的Python庫:
  2. 集成Python,R和Octave的其他項目:
  3. 用於制作GUI的GUI:

為什么不繼續直接在R? 有許多軟件包允許您開發GUI(gWidgets RGtk,tcl / tk,RQt,Rwxwidgets,rjava)或Web應用程序

我將使用Python和PyQt4作為UI,並使用Rpy與R接口。

有用於界面設計的QtDesigner,你可以從中生成python。 QtAssistant為Qt提供了一個完全超鏈接的文檔集,這是我用過的最好的。

非常值得!

這是一個很高的訂單 - 多平台,多后端(R和Ocatve),以及便宜,快速和易於使用!

從頭頂看,看看這些

  • Sage :他們擁有他們稱之為筆記本電腦的互動網頁,並在useR上展示了一個不錯的演示! 2010; 我認為Octave也被覆蓋了

  • Shogun :它還集成了Python,R和Octave,並且可能有一些工具供您利用。

我一直在尋找類似的東西 - 在R中簡單快速的GUI。似乎有一個來自RStudio家伙的新選擇。

對於沒有太多編碼的小型Web界面, Shiny應該足夠了。 如果您需要簡單的輸入/輸出樣式的UI,它似乎是一個可行的選項。

我沒有嘗試直接連接Octave和Python,除了將Octave應用程序設置為服務器並調用Python客戶端之外,但我有幸運行將R與Python禮貌RPy集成。 在我們的一些應用程序中,我們構建了一個例如wxPython + matplotlib Python前端,並直接通過RPy調用R腳本。

對於R和Python集成,您可能還需要查看

您可以嘗試查看RedR ,它允許您將R包封裝在Python GUI中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM