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

2024-04-20 04:48:53 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我们希望通过构建简单的、向导式的用户界面来访问我们的方法来扩展我们的工作范围,要么是像RNAfold这样的web应用程序,要么是分析私有数据的独立应用程序。

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

但是,我们希望能够开发和释放迅速和便宜。我们很幸运能够在实验室资助一个开发人员,他/她必须支持多个项目。

与我们有同样需求和限制的群体很多,因此能够为这类挑战制定一致的长期战略将是有益的。

编辑 我要求就以下四种可能的办法提出意见,并附上意见摘要:

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

我的首选答案

我将首先研究Spacedman建议的方法:使用QtDesignerPyQt4构建UI,并使用RPy调用R。我们有很多没有编程背景的学生想在实验室做志愿者,而QtDesigner看起来像是我们可以训练他们有效使用的东西。

我希望按照hadley的建议,直接在R中开发gui,但是RQt似乎没有在积极开发中(上一次更新是2009年夏天),我认为我需要使用QtDesigner。

而且,看起来我们可能不得不开始在R中单独实现我们的方法,并将其从MATLAB/Octave转换成R。

附录:

  1. 简化用户界面构造的Python库:
  2. 集成Python、R和Octave的其他项目:
  3. 要生成gui的gui:

Tags: 数据方法答案web应用程序图表gui用户界面