我应该如何为R和Octave方法(可能使用Python)进行快速GUI开发?

qdj*_*djm 21 python user-interface r octave

我们是一个中型学术研究实验室,其主要输出是用于分析大型数据集的新统计方法.我们通常用R和MATLAB/Octave开发.

我们希望通过构建简单的向导式用户界面来扩展我们工作的范围,以访问我们的方法,如RNAfold等网络应用程序或分析私有数据的独立应用程序.

理想情况下,我们希望接口进行一些数据检查,仅使用FOSS,在Mac和Windows环境中运行,并能够生成简单的图表和图形,可以作为适合发布的数字输出.此外,我们喜欢Python,因为它是实验室和我们研究社区的流行语言.

但是,我们希望能够快速,廉价地开发和发布.我们很幸运能够为实验室中的一位开发人员提供资金,并且他/她必须支持多个项目.

有很多团体与我们有着相同的需求和约束,因此能够为这类挑战制定一致的长期战略是有用的.

编辑 我要求就四种可能的方法提出意见,包括以下评论摘要:

  1. 从Python调用R和Octave方法.
    回答:
  2. 在Python中重新实现我们的方法.通常,这并不容易,因为我们的方法依赖于在R和Octave中实现的其他方法.回答:
    • 没有评论这种方法,这可能是一个坏主意.
  3. 使用不同的框架来构建用户界面.
    回答:
    • 如何直接在R中构建GUI和Web应用程序?(来自hadley,见工具参考答案)
  4. 我们尚未考虑的其他想法,例如与Taverna等工作流管理系统集成.
    回答:

我的首选答案

我首先要寻找到所建议的方法Spacedman:使用 QtDesigner打造的UI PyQt4的有和调用[R RPY.我们让很多没有编程背景的学生想要在实验室做志愿者,而QtDesigner看起来像我们可以训练他们有效使用的东西.

我想直接在R开发GUI,如hadley推荐但是RQt,我认为我需要使用QtDesigner,似乎没有积极开发(最后更新是2009年夏天).

此外,看起来我们可能必须在R中专门开始实现我们的方法,并从MATLAB/Octave转换为R.在我的领域,无论如何这可能不是一个坏主意.

附录:

  1. 用于简化用户界面构建的Python库:
  2. 集成Python,R和Octave的其他项目:
  3. 用于制作GUI的GUI:

had*_*ley 9

为什么不继续直接在R?有许多软件包允许您开发GUI(gWidgets RGtk,tcl/tk,RQt,Rwxwidgets,rjava)或Web应用程序.


Spa*_*man 8

我将使用Python和PyQt4作为UI,并使用Rpy与R接口.

有用于界面设计的QtDesigner,你可以从中生成python.QtAssistant为Qt提供了一个完全超链接的文档集,这是我用过的最好的.

非常值得!


Dir*_*tel 5

这是一个很高的订单 - 多平台,多后端(R和Ocatve),以及便宜,快速和易于使用!

从头顶看,看看这些

  • Sage:他们拥有他们称之为笔记本电脑的互动网页,并在useR上展示了一个不错的演示!2010; 我认为Octave也被覆盖了

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