Une interface web vers un programme R [fermé]

je dois développer une interface web permettant à l'utilisateur de saisir quelques valeurs qui seront transmises à un Rscript que les paramètres et retourner le résultat à l'utilisateur.

j'ai quelques questions pour quelqu'un qui a fait une interface Web similaire:

  1. quel cadre web utiliser
  2. Quelle est la façon la plus facile de communiquer l'interface web et les Rscripts (dans l'architecture de l'application web)
  3. devrais-je installer R sur le serveur (si oui comment pour lancer le Rscripts à partir de l'interface web)
18
demandé sur Paul Hiemstra 2012-04-24 12:06:23

7 réponses

r a son propre serveur web, de sorte que vous pouvez faire toute la chose au sein de R. ensuite, il n'y a pas besoin de se soucier de choisir un cadre, ou de les amener à parler entre eux et ainsi de suite - il suffit d'utiliser un cadre R:

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

si vous n'aimez pas cela pour la performance ou d'autres raisons, à peu près n'importe quel cadre parlera à R d'une façon ou d'une autre, alors utilisez ce que vous connaissez. J'utilise Django et appeler R via Rpy2 ou lancer un processus Rserve, mais si vous pouvez programmer en PHP ou Java puis utiliser un framework basé sur ces langages. Si vous ne pouvez pas programmer autre chose que R, alors apprenez Python ou utilisez Rook.

13
répondu Spacedman 2012-04-24 11:06:44

Rstudio a un nouveau serveur appelé Shiny qui utilise le noeud.js pour L'UI:

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

9
répondu Hari Titan 2013-04-18 18:45:17

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

7
répondu Markus Graf 2012-04-24 09:45:41

Vous pouvez exécuter R à l'intérieur du serveur web apache: http://rapache.net/

5
répondu Daniele 2012-04-24 09:53:58

un moyen très pratique est de combiner Rstudio Server et Rook (voir les autres réponses pour les liens).

Rstudio Server fournit un moyen très facile de configurer un serveur R qui peut être consulté par n'importe qui à l'intérieur du réseau. Vous l'utiliserez typiquement 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 l'interaction (comme les champs d'entrée, etc.) et R code. Une fois que votre script fonctionne, lancez-le à partir de au sein du serveur Rstudio, et tout utilisateur (avec accès) pourra se connecter à celui-ci, sur la même IP que le serveur Rstudio.

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

5
répondu nassimhddd 2012-06-16 09:01:49

OpenCPU est actuellement, à mon avis, Le paquet gratuit le plus avancé pour créer des services web apatrides (REST) dans R. Shiny est un grand cadre, mais si vous prévoyez d'utiliser la version de la communauté libre, notez qu'il ne gère pas les appels concurrents.

3
répondu Bastian 2015-09-29 13:50:05

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

0
répondu mut1na 2013-04-19 09:23:46