web-dev-qa-db-fra.com

Une interface web pour un programme R

Je dois développer une interface Web permettant à l'utilisateur de saisir des entrées qui seront transmises à un Rscript en tant que paramètres et de renvoyer le résultat à l'utilisateur. 

J'ai quelques questions pour quelqu'un qui a créé une interface Web similaire:

  1. Quel framework web utiliser 
  2. Quel est le moyen le plus simple de communiquer l'interface Web et les scripts R (au sein de l'architecture de l'application Web) 
  3. Dois-je installer R sur le serveur (si oui, comment lancer les scripts R depuis l’interface Web)
18
user1331120

R dispose de son propre serveur Web, vous pouvez donc tout faire à l’intérieur de R. Ensuite, inutile de choisir un framework ou de les amener à se parler, etc., utilisez simplement un framework R:

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

Si vous n'aimez pas cela pour des raisons de performance ou pour d'autres raisons, pratiquement tous les frameworks parlent à R d'une manière ou d'une autre, utilisez donc ce que vous connaissez bien. J'utiliserais Django et appellerais R via Rpy2 ou exécuterais un processus Rserve, mais si vous pouvez programmer en PHP ou en Java, utilisez un framework basé sur ces langages. Si vous ne pouvez programmer que dans R, apprenez Python ou utilisez Rook.

13
Spacedman

Rstudio a un nouveau serveur appelé Shiny qui utilise node.js pour l'interface utilisateur:

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

9
Hari Titan

Rstudio fournit une interface Web pour R voir http://rstudio.org/docs/server/getting_started

7
Markus Graf

Vous pouvez exécuter R sur le serveur Web Apache: http://rapache.net/

5
Daniele

Un moyen très pratique consiste à combiner Rstudio Server et Rook (voir les autres réponses pour les liens).

Rstudio Server offre un moyen très simple de configurer un serveur R accessible à tous les utilisateurs du réseau. Vous l'utiliserez généralement pour éditer et exécuter votre script sur ce serveur.

Rook vous permet de créer facilement une interface Web en mélangeant du code HTML pour le texte et les interactions (comme les champs de saisie, etc.) et le code R. Une fois que votre script fonctionne, lancez-le simplement à partir de Rstudio Server, et tout utilisateur (avec accès) pourra s'y connecter, sur la même adresse IP que Rstudio Server.

J'utilise cette configuration avec googleVis et j'en suis très satisfait.

5
nassimhddd

À mon avis, OpenCPU est actuellement le package gratuit le plus avancé pour la création de services Web sans état (REST) ​​dans R. Shiny est un excellent cadre. Toutefois, si vous prévoyez d'utiliser la version communautaire gratuite, notez qu'il ne gère pas les appels simultanés .

3
Bastian

Il y a une bonne liste sur le site Web R - http://cran.r-project.org/doc/FAQ/R-FAQ.html#R-Web-Interfaces

0
mut1na