Подтвердить что ты не робот

Веб-интерфейс к программе R

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

У меня есть вопросы для тех, кто сделал аналогичный веб-интерфейс:

  • Какую веб-инфраструктуру использовать
  • Что является самым простым способом связи с веб-интерфейсом и Rscripts (в рамках архитектуры веб-приложения).
  • Должен ли я установить R на сервер (если да, как использовать Rscripts из веб-интерфейса)
4b9b3361

Ответ 1

R имеет свой собственный веб-сервер, поэтому вы можете делать все в пределах R. Тогда нет необходимости беспокоиться о выборе структуры или об их разговоре друг с другом и т.д. - просто используйте фреймворк R:

http://cran.r-project.org/web/packages/Rook/index.html

Если вам не нравится это по производительности или по другим причинам, практически любая инфраструктура будет говорить с R так или иначе, поэтому используйте то, с чем вы знакомы. Я бы использовал Django и либо вызвал R через Rpy2, либо запустил процесс Rserve, но если вы можете программировать на PHP или Java, тогда используйте фреймворк на основе этих языков. Если вы не можете запрограммировать ничего, кроме R, то либо изучите Python, либо используйте Rook.

Ответ 2

Rstudio имеет новый сервер под названием Shiny, который использует node.js для интерфейса:

https://github.com/rstudio/shiny-server

Ответ 4

Вы можете запустить R внутри веб-сервера apache: http://rapache.net/

Ответ 5

Очень удобным способом является объединение Rstudio Server и Rook (см. другие ответы для ссылок).

Rstudio Server предоставляет очень простой способ установки R-сервера, к которому может обратиться любой, кто находится внутри сети. Вы обычно используете его для редактирования и запуска вашего script на этом сервере.

Rook позволяет вам легко создавать веб-интерфейс, смешивая html-код для текста и взаимодействия (например, поля ввода и т.д.) и R-код. Как только ваш script работает, просто запустите его из Rstudio Server, и любой пользователь (с доступом) сможет подключиться к нему на том же IP-адресе, что и Rstudio Server.

Я использую эту настройку вместе с googleVis и очень доволен.

Ответ 6

OpenCPU в настоящее время, на мой взгляд, самый продвинутый бесплатный пакет для создания веб-сервисов безстоящих (REST) ​​в R. Shiny - отличная инфраструктура, но если вы планируете использовать бесплатную версию сообщества, обратите внимание, что это не обрабатывать одновременные вызовы.