Как мне выполнить быструю разработку графического интерфейса для методов R и Octave (возможно, с Python)?

Мы - академическая исследовательская лаборатория среднего размера, основными результатами которой являются новые статистические методы анализа больших наборов данных. Обычно мы разрабатываем на R и MATLAB / Octave.

Мы хотели бы расширить сферу нашей работы, создав простые пользовательские интерфейсы в стиле мастера для доступа к нашим методам, либо веб-приложениям, таким как RNAfold , либо автономные приложения для анализа частных данных.

В идеале, мы хотели бы, чтобы интерфейсы выполняли некоторую проверку данных, использовали только FOSS, для работы в средах Mac и Windows, и иметь возможность создавать простые диаграммы и графики, которые можно выводить в виде рисунков, подходящих для публикации. Кроме того, нам нравится Python, потому что это популярный язык в лаборатории и в нашем исследовательском сообществе.

Однако мы хотим иметь возможность разрабатывать и выпускать быстро и дешево. Нам повезло, что мы можем профинансировать одного разработчика в лаборатории, и ему / ей приходится поддерживать несколько проектов.

Есть много групп с такими же потребностями и ограничениями, как и у нас, поэтому было бы полезно иметь возможность разработать последовательную долгосрочную стратегию для решения этой проблемы.

Править Я попросил прокомментировать четыре возможных подхода, которые приведены ниже с кратким изложением комментариев:

  1. Вызов методов R и Octave из Python.
    Ответы:
  2. Повторная реализация наших методов на Python. В общем, это непросто, потому что наши методы полагаются на другие методы, также реализованные в R и Octave. Ответы:
    • Этот подход не был прокомментирован, вероятно, это плохая идея.
  3. Использование другой структуры для создания пользовательских интерфейсов.
    Ответы:
    • Как насчет создания графических интерфейсов и веб-приложений непосредственно в R? (от hadley , см. ответ для справок по инструментам)
  4. Другие идеи, которые мы не рассматривали, например, интеграция с системами управления рабочими процессами, такими как Taverna .
    Ответы:
    • Попробуйте интерфейс визуального программирования, например RedR (от chrisamiller )

Мой предпочтительный ответ

Сначала я собираюсь изучить подход, предложенный Spacedman : использование QtDesigner для создания пользовательского интерфейса для PyQt4 и вызов R с помощью RPy . У нас есть много студентов, не имеющих опыта программирования, которые хотят работать волонтерами в лаборатории, и QtDesigner выглядит как нечто, что мы могли бы обучить их эффективному использованию.

Я хотел бы разрабатывать графические интерфейсы непосредственно в R, как рекомендовано Хадли , но RQt , который, как я полагаю, мне нужно использовать QtDesigner, похоже, не находится в активной разработке (последнее обновление было летом 2009 года).

Кроме того,

  • Другие проекты, интегрирующие Python, R и Octave:
  • Графические интерфейсы для создания графических интерфейсов:
  • 21
    задан Community 23 May 2017 в 12:34
    поделиться