Starten met R Shiny: Tips & Tricks

Wat is R Shiny?

R is een softwarepakket en programmeertaal ontwikkeld voor statistiek en data-analyse. R wordt veel gebruikt voor de verwerking van data en statistische doeleinden. Shiny is een R-package dat het makkelijk maakt om interactieve webapplicaties te bouwen rechtstreeks vanuit R. Shiny stelt data scientisten in staat interactieve web apps te maken waarin gegevens kunnen worden weergegeven en verkend in de vorm van dashboards of visualisaties. Je kunt je Shiny apps ook uitbreiden met CSS thema’s, html-widgets, en JavaScript. Je ontwikkelt een Shiny app in R en uploadt deze app naar de webserver van shiny.io.

Hoe werkt R Shiny?

Een shiny applicatie bestaat uit twee belangrijke componenten: een server waarop je R code draait en een gebruikersinterface (UI) die draait via de webbrowser van een gebruiker. De UI bevat een layout die input velden en outputs zoals visualisaties kan plaatsen. Input velden zijn dingen zoals tekstvakken, drop-down menu’s en kalenders die hun waardes terugsturen naar de R server. De R server verwerkt dan zijn berekeningen en visualisaties die weer teruggestuurd worden naar de UI om te worden weergegeven.

Tutorials op Youtube

Om te beginnen zijn er natuurlijk veel uitleg filmpjes en tutorials te vinden op YouTube. Deze zijn vooral in het beginstadium nuttig om te bekijken. Zo krijg je een goed beeld van hoe R Shiny eruit ziet en hoe het werkt, zonder dat je er direct zelf mee aan hoeft te sleutelen. Handige filmpjes hiervoor zijn onder andere: A Gentle Introduction to creating R Shiny Web Apps van Business Science en Tidy Tuesday: Beginner to Advanced Dashboards with R Shiny van Andrew Couch. Om nog meer praktijkvoorbeelden te zien, zijn in de Shiny Gallery zijn veel voorbeelden van codes beschikbaar om je ook op weg te helpen. Het is handig om hier een keer doorheen te scrollen zodat je beter weet wat er allemaal mogelijk is met R Shiny.

Oefenen met Datacamp

Vervolgens is het tijd om te oefenen met R Shiny. Een goede website voor oefeningen en bijbehorende uitleg is Datacamp. Je kunt hier veel cursussen vinden die volledig draaien om data science. De volgende cursussen zijn te vinden op Datacamp die met R Shiny aan de slag gaan:

  • Building Web Applications with Shiny in R: Met data over babynamen, voedselingrediënten en UFO-waarnemingen zul je verschillende Shiny apps bouwen die verschillende inputs en outputs gebruiken. Je leert ook de basis van reactieve expressies. Aan het einde van deze cursus heb je de Shiny vaardigheden die je nodig hebt om je eerste app in R te bouwen.
  • Case Studies: Building Web Applications with Shiny in R: Na het leren van de basis van het bouwen van webapplicaties met Shiny, brengt deze cursus je naar het volgende niveau door je pas opgedane vaardigheden in de praktijk te brengen. Je krijgt ervaring met het ontwikkelen van realistische Shiny apps voor verschillende veelvoorkomende use cases, zoals het gebruiken van Shiny om een dataset te verkennen, een custom plot te genereren, en bijvoorbeeld een woordenwolk te maken.
  • Building Dashboards with shinydashboard: Wanneer je enkele tools onder de knie hebt voor het bouwen van interactieve webapplicaties met Shiny, gaat deze cursus verder met het toepassen van deze kennis voor het bouwen van dashboards. Dashboards, een veelgebruikte data science deliverable, zijn samengestelde pagina’s met informatie die vaak in één oogopslag een (grafisch) overzicht geven van de belangrijkste prestatie-indicatoren die relevant zijn voor een bepaald doel of proces. Tijdens de cursus bouw en ontwerp je deze dynamische dashboards met de package shinydashboard en krijg je meer kennis over het gebruik van Shiny. Gedurende het traject krijg je tips om de functionaliteit te optimaliseren en leer je hoe je een visueel aantrekkelijk product kunt maken.
  • Building Dashboards with flexdashboard: Tijdens deze cursus leer je hoe je het flexdashboard package kan gebruiken om je resultaten om te zetten in een verzorgd dashboard. Je leert over het spectrum van dashboard creatie tools die beschikbaar zijn in R en beschikt aan het einde van deze cursus over de vaardigheid om een (interactief) dashboard met Shiny van professionele kwaliteit te maken.

Mastering Shiny

Mocht je nog meer in detail willen weten over R Shiny bestaat er ook een (online) boek Mastering Shiny door Hadley Wickham. Dit boek is ontworpen om je van niets weten over Shiny naar een expert ontwikkelaar te brengen die grote complexe apps kan schrijven die nog steeds onderhoudbaar en uitvoerbaar zijn. Je zult een grondig beeld krijgen van het reactieve programmeermodel dat ten grondslag ligt aan Shiny, en een verzameling handige technieken aanleren om veelvoorkomende app-uitdagingen op te lossen. Ook hier krijg je eerst een stuk theorie en daarna wat opdrachten om mee te oefenen en zijn de hoofdstukken ingedeeld in logische stappen. Ook nuttig om later nog eens iets op te zoeken mocht je ergens niet uitkomen.

Getting started en cheatsheets

De eerder genoemde R-pakketten kunnen goed van pas komen voor het bouwen van een dashboard. Veel tips & trucs om hierbij op gang te komen zijn te vinden in de ‘Getting Started’ pagina’s van de documentatie van de R packages shinydashboard en flexdashboard. Het is ook goed om er eenmaal mee te gaan beginnen en al experimenterend er handigheid in te krijgen. Bij het bouwen van een applicatie is het erg handig om een cheatsheet erbij te houden. De Shiny cheatsheet geeft een helder overzicht van de meest gebruikte functies en legt uit hoe je een interactieve app kunt bouwen en aanpassen. Het kan worden gedownload van deze link.

;