Tutoriel R Shiny: Comment créer des applications Web interactives dans R

Publié: 2020-03-16

Table des matières

introduction

Dans cette ère technologique moderne, diverses applications sont disponibles pour nous tous - du suivi de notre niveau de forme physique, du sommeil à nous donner les dernières informations sur les marchés boursiers. Des applications comme Robinhood, Google Fit et Workit semblent incroyablement utiles car elles utilisent des données et des statistiques en temps réel. Comme R est un précurseur dans le domaine du calcul statistique et de la programmation, les développeurs ont besoin d'un système pour utiliser sa puissance pour créer des applications. En savoir plus sur la programmation R.

C'est là que R Shiny vient sauver la situation. Dans ce tutoriel R Shiny, vous apprendrez les bases.

Qu'est-ce que R Shiny ?

Shiny est un package R qui a été développé pour créer des applications Web interactives dans R . En utilisant cela, vous pouvez créer des applications Web en utilisant du code HTML et CSS natif avec du code R Shiny. Vous pouvez créer des applications Web autonomes sur un site Web qui faciliteront la visualisation des données. Ces applications réalisées via R Shiny peuvent afficher de manière transparente des objets R tels que des tableaux et des graphiques.

Regardons quelques-unes des fonctionnalités de R Shiny :

  • Créez des applications Web avec moins de lignes de code, sans JavaScript.
  • Ces applications sont en direct et sont accessibles aux utilisateurs comme des feuilles de calcul. Les sorties peuvent changer en temps réel si les utilisateurs changent l'entrée.
  • Les développeurs ayant peu de connaissances sur les outils Web peuvent également créer des applications à l'aide de R Shiny.
  • Vous obtenez des widgets intégrés pour afficher des tableaux, des sorties d'objets R et des tracés.
  • Vous pouvez ajouter des visualisations et des rapports en direct à l'application Web à l'aide de ce package.
  • Les interfaces utilisateur peuvent être codées en R ou préparées en HTML, CSS ou JavaScript.
  • L'interface utilisateur par défaut est construite à l'aide de Bootstrap.
  • Il est livré avec un package WebSocket qui permet une communication rapide entre le serveur Web et R.

Lire : Arbre de décision dans R

Composants d'une application R Shiny

Une application Shiny a deux composants principaux : un objet d'interface utilisateur et une fonction de serveur. Ce sont les arguments passés à la méthode shinyApp . Cette méthode crée un objet d'application à l'aide des arguments.

Apprenez la science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

A lire aussi : Algorithme KNN en R

Comprenons en détail les éléments de base d'une application R Shiny :

Fonction d'interface utilisateur

Cette fonction définit l'apparence de l'application Web. Il rend l'application interactive en obtenant la contribution de l'utilisateur et en l'affichant à l'écran. Les balises HTML et CSS peuvent être utilisées pour améliorer l'apparence de l'application. Ainsi, lors de la construction du fichier ui.R, vous créez un fichier HTML avec des fonctions R.

Si vous tapez fluidPage() dans la console R, vous verrez que la méthode renvoie une balise <div class="container-fluid"></div>.

Les différentes fonctions d'entrée sont :

  • selectInput () - Cette méthode est utilisée pour créer un HTML déroulant qui propose différents choix à sélectionner.
  • numericInput () – Cette méthode crée une zone de saisie pour écrire du texte ou des nombres.
  • radioButtons () - Cela fournit des boutons radio permettant à l'utilisateur de sélectionner une entrée.

Méthodes de mise en page

Les différentes fonctionnalités de mise en page disponibles dans Bootstrap sont implémentées par R Shiny. Les composants sont :

Panneaux

Ce sont des méthodes qui regroupent des éléments dans un seul panneau. Ceux-ci inclus:

  • panneauabsolu()
  • inputPanel()
  • panneau conditionnel()
  • headerPanel()
  • panneaufixe()

Fonctions de mise en page

Ceux-ci organisent les panneaux pour une mise en page particulière. Ceux-ci inclus:

  • fluidRow()
  • verticalLayout()
  • flowLayout()
  • splitLayout()
  • sidebarLayout()

Méthodes de sortie

Ces méthodes sont utilisées pour afficher les images, les tableaux et les tracés des composants de sortie R. Elles sont:

  • tableOutput() - Cette méthode est utilisée pour afficher une table R
  • plotOutput () - Cette méthode est utilisée pour afficher un objet de tracé R

Fonction serveur

Après avoir créé l'apparence de l'application et les moyens de prendre les valeurs d'entrée de l'utilisateur, il est temps de configurer le serveur. Les fonctions du serveur vous aident à écrire le code côté serveur pour l'application Shiny. Vous pouvez créer des fonctions qui mappent les entrées utilisateur aux sorties correspondantes. Cette fonction est appelée par le navigateur Web lors du chargement de l'application.

Il prend un paramètre d'entrée et de sortie, et les valeurs de retour sont ignorées. Un paramètre de session facultatif est également pris par cette méthode.

Tutoriel R Shiny : Comment débuter avec R Shiny ?

Les étapes pour commencer à travailler avec le package R Shiny sont les suivantes :

  • Accédez à la console R et tapez la commande - install.packages("shiny")
  • Le package est livré avec 11 exemples d'application intégrés pour vous permettre de comprendre le fonctionnement de Shiny

Vous pouvez commencer par l' exemple Hello Shiny pour comprendre la structure de base. Tapez ce code pour exécuter Hello Shiny :

bibliothèque (brillant)

runExample("01_hello")

Les étapes pour créer une nouvelle application Shiny sont :

  • Ouvrez RStudio et accédez à l'option Fichier
  • Sélectionnez Nouveau projet dans un répertoire et cliquez sur l'application "Shiny Web"
  • Vous obtiendrez un histogramme et un curseur pour tester les changements de sortie par rapport à l'entrée
  • Vous obtiendrez deux scripts ui.R et server.R pour coder et personnaliser l'application

Conseils pour le développement d'applications Shiny

  • Testez l'application dans le navigateur pour voir à quoi elle ressemble avant de l'envoyer en production
  • Exécutez l'intégralité du script lors du débogage de l'application
  • Faites attention aux erreurs courantes telles que les virgules

Conclusion

Si vous êtes curieux d'en savoir plus sur la science des données, consultez notre programme exécutif PG en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1-on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

La meilleure partie de Shiny est que vous n'avez pas besoin de connaître HTML, CSS ou JavaScript pour l'utiliser. De plus, vous pouvez créer des applications et les déployer sur la version gratuite de shinyapps.io. Gardez ce tutoriel R Shiny à portée de main tout en commençant.

Quels sont les avantages de R Shiny ?

Chaque data scientist doit s'aider de certains outils pour faire ressortir les informations des données devant le grand public. Shiny est un package disponible en R pour développer des applications Web interactives. Vous disposez de nombreuses options pour communiquer vos résultats par le biais de textes, de tableaux, de visualisations ou de graphiques interactifs. Si vous connaissez la programmation R, vous pouvez facilement développer une application car Shiny est assez facile à utiliser. Il existe des fonctionnalités intégrées pour partager facilement votre travail avec des amis et des collègues. La conception de l'application Shiny est assez étonnante. Même si vous regardez l'affichage par défaut, vous le trouverez assez intuitif et élégant.

En quoi Shiny est-il différent des applications traditionnelles ?

Comprenons mieux cela à l'aide d'un exemple d'application météo. Chaque fois que l'utilisateur recharge la page ou même modifie une petite entrée sur la page, l'application devra mettre à jour la page entière à l'aide de JS. Cela ajoutera beaucoup de charge côté serveur afin de traiter la mise à jour.

D'autre part, Shiny isolera ou rechargera les éléments de l'application qui réduisent la charge du serveur. La structure jouera un rôle très important dans la compréhension ainsi que le débogage du code. Il s'avère que le défilement des applications Web est un peu difficile avec les applications Shiny par rapport aux applications traditionnelles.

Est-ce que R Shiny est difficile à apprendre ?

Le framework Shiny est un package disponible dans R qui est utile pour créer des applications Web interactives. Le package est merveilleux car il vous permet de créer des visualisations et des rapports très efficaces basés sur les ensembles de données disponibles. Outre l'utilisation des éléments Shiny, vous pouvez également utiliser les éléments HTML pour personnaliser le contenu de l'application.

Même si Shiny est un outil assez puissant, vous le trouverez assez facile à apprendre si vous connaissez la programmation en R. Il est fortement recommandé d'apprendre R Shiny si vous envisagez d'ajouter quelque chose de créatif à votre portefeuille.