R sur le web : le package “shiny”

R est un super outil pour les analyses statistiques, qui permet notamment de réaliser tout un tas de graphiques hautement personnalisables afin de rendre la présentation de résultats attrayante et parlante.
Un package indispensable pour venir compléter la puissance de R est, selon moi, le package « shiny » qui permet d’aller encore plus loin en publiant vos résultats d’analyses sur le web ! Si vous ne le connaissez pas déjà, je vous conseille d’y jeter un oeil, ça va changer votre vie ;-)


 
- Shiny : qu’est-ce que c’est ? -

Shiny est un package R, développé par RStudio, qui permet la création de pages web interactives sur lesquelles il est possible de réaliser toutes les analyses / actions disponibles sous R.

Sa grande force est le fait qu’il n’y a absolument pas besoin de connaître ni HTML, ni CSS, ni Javascript : tout se fait directement en R ! Cela fait de ce package un outil très puissant et très prisé des fans de R ^^
 

- Shiny : à quoi ça ressemble ? -

Pour voir quelques exemples d’applications shiny, voici plusieurs liens :

 

- Shiny : comment ça marche ? -

Après avoir installé et chargé le package « shiny » dans R (pour l’installation de package R, voir par exemple ici), il faut créer son application shiny qui sera composée de deux fichiers : un fichier « ui.R » et un fichier « server.R » .

La partie « ui » : User Interface script, contrôle la mise en page et l’apparence de l’application.
La partie « server » : Server script, contient les instructions dont l’ordinateur a besoin pour construire l’application.

Exemple basique (issu du tutoriel officiel) :

> « ui.R » :

> « server.R » :

Puis pour lancer l’application et la tester :

demo1
 

- Shiny : et ensuite ? -

Une fois qu’on est satisfait de son appli « shiny », il va falloir procéder à son déploiement, c’est-à-dire la mettre sur le net (pour l’instant tout avait été fait en local).

Pour cela plusieurs options : soit passer par la plateforme « shinyapps.io » mise à disposition par RStudio (très pratique si on veut faire des tests ou partager rapidement son appli), soit passer par l’installation d’un serveur shiny (tout à fait faisable sur une instance AWS par exemple).

Pour plus de détails sur ces étapes, voir les liens suivants : http://www.shinyapps.io/ et https://www.rstudio.com/products/shiny/shiny-server/.

> Exemple avec le lien vers l’appli de démo présentée plus haut, hébergée sur « shinyapps.io » : https://superstatisticienne.shinyapps.io/demo1/
 

- Shiny : pour aller plus loin -

Il existe également un autre package plus ou moins « dérivé » de celui-ci : le package « shinydashboard ». Il présente des fonctionnalités similaires mais un « design de base » de l’appli un peu différent, plus proche des « tableaux de bords » (d’où son nom ^^) très à la mode en ce moment.

Et pour les graphiques, de nombreux packages permettent la mise en place de graphiques dynamiques basés sur du Javascript, tels que par exemple : « ggvis » , « rCharts » , …

A la recherche d’aide pour la création de votre appli « shiny » avec R ?
Il y a plusieurs possibilités telles que par exemple :

[NEWS du 12/01/2016] De nouvelles fonctionnalités très intéressantes ajoutées dans la dernière version de « shiny » (version 0.13.0), telles que par exemple des templates HTML, la possibilité de créer des événements Javascript et aussi des « gadgets shiny » (voir ici) ^^

 

Sinon, de mon côté, j’ai déjà réalisé quelques applis shiny de tests et je travaille encore sur d’autres actuellement, je vous en reparle un de ces jours ;-)

–> Et vous, avez-vous déjà testé le package R « shiny » ? Avez-vous des exemples d’appli à nous faire partager ?

 

7 réactions sur “R sur le web : le package “shiny”

  1. Merci pour ce billet bien documenté

    je commence tout juste sur shiny et je suis assez impressioné parce que ça peut faire. Votre guide, m’a permis de rapidement identifier une façon de partager mes applications. Au plaisir de vous lire à nouveau !

    • Merci pour le compliment et ravie d’avoir pu vous faire découvrir quelque chose :)
      N’hésitez pas à revenir ici partager vos créations R-Shiny !
      A très bientôt.

  2. Merci pour ce grand boulot. Je peux avoir votre Email pour une discussion sur cette application. Je suis sur un projet un peu confidentiel et je veux utiliser shiny. ALors j’ai besoin de votre aide

  3. Merci pour ce travail accompli.
    Je suis étudiant en statistique et informatique décisionnelle en cote d’Ivoire.Nous avons organisé un forum sur les sciences de données le 31 mai 2017,sur la thématique du big data.
    Je voudrais collaborer avec vous,pour l »organisation de webinar,meet-up …dans laquelle vous pourrez faire une presentation de vous travaux sous Rshiny.
    Dans l’attente d’une réponse favorable,recevez mes salutations distinguées.

Répondre à Nicolas Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">