Kies uw taal
R Shiny Cursus
Meer dan 2 miljoen studenten wereldwijd

R Shiny Cursus

4,3

Beheers R Shiny van de basis af en bouw interactieve, datagestuurde webapplicaties volledig in R. Deze cursus neemt je mee van je eerste app naar productieklare implementaties met authenticatie, CI/CD-pijplijnen en schaalbare architectuur. Of je nu analist, datascientist of R-ontwikkelaar bent, je verwerft de vaardigheden om ruwe data om te zetten in gepolijste, deelbare tools.

Dedika voor bedrijven

Wat je gaat leren:

Je leert hoe je volwaardige Shiny-applicaties ontwerpt en bouwt, van de kern van R-syntax en het Shiny-framework tot modulaire app-architectuur en enterprise-implementatie. Je beheerst Shiny's reactieve programmeermodel, creëert rijke gebruikersinterfaces met dynamische invoer en uitvoer, en integreert tidyverse-dataverwerking rechtstreeks in reactieve werkstromen. De cursus behandelt interactieve visualisaties met plotly en leaflet, gestructureerde logging en geautomatiseerd testen met shinytest2. Je verkent ook technieken voor prestatieoptimalisatie, waaronder caching, asynchroon programmeren en belastingtesten om je apps snel te houden onder echt gebruikersverkeer.

Hoe je praktisch studeert R Shiny Cursus

Hoe je oefent R Shiny Cursus

Voor bedrijven die hun team willen trainen

Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.

Klik hier

Cursusinhoud

8 Hoofdstukken • 39 LessenDuur tussen 4 en 360 uren (jij beslist)

Hoofdstuk 1Bekijk details

Inleiding tot R en Shiny

  • Les 1 • De R-omgeving instellen

    Installeer R, RStudio en essentiële pakketten die nodig zijn voor Shiny-ontwikkeling. Legt de basistoolchain vast voor alle volgende hoofdstukken.

  • Les 2 • Anatomie van een Shiny-app

    Onderzoek de componenten ui, server en shinyApp die elke Shiny-applicatie vormen. Verbindt R-basisbeginselen met het Shiny-uitvoeringsmodel.

  • Les 3 • Kern-R-syntax voor Shiny

    Bespreek vectoren, dataframes, functies en controlestroom zoals gebruikt in Shiny-apps. Biedt de R-vaardigheid die nodig is voordat reactieve code wordt geschreven.

  • Les 4 • Je eerste Shiny-app uitvoeren

    Maak en start een minimale app die statische tekst en een plot weergeeft. Bevestigt dat de omgeving correct is geconfigureerd en ontraadselt de uitvoeringscyclus.

Hoofdstuk 2Bekijk details

Gebruikersinterfaces bouwen

  • Les 1 • Layoutfuncties en paginatypen

    Verken fluidPage, navbarPage en fillPage om de algehele app-structuur te beheren. Het juiste paginatype bepaalt hoe de inhoud schaalt over verschillende schermformaten.

  • Les 2 • Catalogus van invoerwidgets

    Implementeer tekst-, numerieke-, datum-, selectie-, selectievakje-, radio- en schuifregelaarinvoeren. Elke widget wordt toegewezen aan een benoemde invoerwaarde die door de serverfunctie wordt verbruikt.

  • Les 3 • De UI opmaken met HTML en CSS

    Pas inline stijlen, aangepaste CSS-bestanden en HTML-hulpfuncties van Shiny toe om de visuele weergave te verfijnen. Bereidt studenten voor op het thema met bslib in latere hoofdstukken.

  • Les 4 • Sidebar- en panellay-outs

    Gebruik sidebarLayout, sidebarPanel en mainPanel om bedieningselementen van uitvoer te scheiden. Dit patroon is de meest gebruikelijke Shiny UI-conventie en vormt de basis voor later dashboardwerk.

  • Les 5 • Dynamische UI-elementen

    Genereer UI-componenten conditioneel met uiOutput en renderUI. Maakt interfaces mogelijk die zich aanpassen aan de gebruikersstatus zonder volledige paginavernieuwingen.

Hoofdstuk 3Bekijk details

Basisbeginselen van reactiviteit

  • Les 1 • Reactieve expressies

    Maak reactive()-expressies om tussentijdse berekeningen te cachen die door meerdere uitvoer worden gedeeld. Vermindert dubbele code en verbetert de app-prestaties.

  • Les 2 • Reactieve waarden en status

    Sla veranderlijke applicatiestatus op met reactiveValues() en reactiveVal(). Maakt functies mogelijk zoals ongedaan maken-geschiedenis, tellers en sessieniveau-gegevensaccumulatie.

  • Les 3 • Observers en bijwerkingen

    Gebruik observe() en observeEvent() om bijwerkingen te activeren, zoals het schrijven van bestanden of het bijwerken van invoer. Onderscheidt reactieve producenten van reactieve consumenten.

  • Les 4 • Reactiviteit isoleren en beheersen

    Pas isolate(), req() en validate() toe om te bepalen wanneer en hoe reactieve code wordt uitgevoerd. Voorkomt voortijdige uitvoering en geeft gebruiksvriendelijke foutmeldingen.

  • Les 5 • Het reactieve uitvoeringsmodel

    Traceer hoe Shiny afhankelijkheden bijhoudt en heruitvoering plant wanneer invoer verandert. Het begrijpen van dit model voorkomt overbodige berekeningen en stille bugs.

Hoofdstuk 4Bekijk details

Uitvoer en weergavefuncties

  • Les 1 • Statische en interactieve plots weergeven

    Produceer base R-, ggplot2- en plotly-visualisaties in Shiny-uitvoersleuven. Interactieve plots maken klik- en hovergebeurtenissen mogelijk die in latere hoofdstukken worden gebruikt.

  • Les 2 • Meldingen en voortgangsindicatoren

    Geef gebruikers feedback tijdens lange bewerkingen met showNotification() en withProgress(). Verbetert de waargenomen prestaties en communiceert de app-status duidelijk.

  • Les 3 • Bestanden downloaden en uploaden

    Implementeer downloadHandler() voor CSV- en PDF-export en fileInput() voor door de gebruiker geleverde gegevens. Sluit de lus voor gegevensinvoer en -export in een complete app.

  • Les 4 • Tekst- en woordelijke uitvoer

    Geef dynamische tekenreeksen en ruwe R-uitvoer weer met renderText() en renderPrint(). Vormt het eenvoudigste uitvoertype en valideert dat reactiviteit correct is aangesloten.

  • Les 5 • Tabellen met DT en gt

    Geef interactieve gegevenstabellen weer met het DT-pakket en opgemaakte statische tabellen met gt. Tabellen zijn de meest voorkomende gegevensuitvoer in zakelijke Shiny-apps.

Hoofdstuk 5Bekijk details

Gegevensbewerking binnen Shiny

  • Les 1 • Gegevens reactief filteren

    Pas dplyr filter() toe in reactieve expressies die worden aangestuurd door widgetinvoer. Reactief filteren is het kernpatroon voor verkennende gegevens-apps.

  • Les 2 • Omgaan met ontbrekende en onjuiste gegevens

    Detecteer en verwerk NA-waarden, typefouten en foutief opgemaakte invoer voordat ze worden weergegeven. Voorkomt cryptische fouten en zorgt dat uitvoer zinvol blijft.

  • Les 3 • Gegevensbronnen koppelen aan apps

    Laad CSV-, Excel- en RDS-bestanden bij het opstarten of reactief op basis van gebruikersinvoer. De juiste strategie voor het laden van gegevens bepaalt de opstarttijd van de app en het geheugengebruik.

  • Les 4 • Gegevens transformeren en samenvatten

    Gebruik mutate(), group_by() en summarize() in reactieve pijplijnen om nieuwe metrieken af te leiden. Getransformeerde gegevens voeden tegelijkertijd zowel plot- als tabeluitvoer.

  • Les 5 • Werken met databases via DBI

    Maak verbinding met SQL-databases met DBI en voer parameterized query's uit op basis van reactieve invoer. Maakt apps mogelijk die grote datasets kunnen opvragen zonder ze in het geheugen te laden.

Hoofdstuk 6Bekijk details

App-organisatie en modules

  • Les 1 • Grote Shiny-projecten structureren

    Organiseer code in de mappen R/, www/ en data/ volgens de golem- en standaardconventies. Een goede structuur vermindert de inwerktijd en samenvoegconflicten.

  • Les 2 • Apps bouwen als R-pakketten

    Wikkel een Shiny-app in een R-pakket met golem om documentatie, testen en afhankelijkheidsbeheer te verkrijgen. Pakketstructuur is de industriestandaard voor productie-apps.

  • Les 3 • Gegevens doorgeven tussen modules

    Retourneer reactieve waarden uit modules en geef ze door als argumenten aan zustermodules. Maakt complexe multi-module gegevensstromen mogelijk zonder globale status.

  • Les 4 • Inleiding tot Shiny-modules

    Kapsel UI- en serverlogica in in namespaced modulefuncties met moduleServer(). Modules voorkomen ID-botsingen en maken hergebruik van componenten in apps mogelijk.

  • Les 5 • Shiny-apps testen met shinytest2

    Schrijf snapshot- en interactietests met het shinytest2-pakket om regressies op te sporen. Geautomatiseerde tests zijn essentieel voordat bijgewerkte apps naar productie worden geïmplementeerd.

Hoofdstuk 7Bekijk details

Prestaties en schaalbaarheid

  • Les 1 • Gegevens en weergave optimaliseren

    Verminder de hoeveelheid gegevens die naar de browser worden verzonden door server-side vooraf te aggregeren en efficiënte uitvoerformaten te gebruiken. Kleinere payloads verbeteren direct de time-to-interactive voor eindgebruikers.

  • Les 2 • Asynchroon programmeren met promises

    Verplaats trage bewerkingen naar achtergrondprocessen met de pakketten promises en future. Asynchrone uitvoering voorkomt dat een trage query van één gebruiker alle andere sessies blokkeert.

  • Les 3 • App-prestaties profileren

    Gebruik profvis en reactlog om trage reactieve ketens en weergaveknelpunten te identificeren. Profileren vóór optimaliseren voorkomt verspilde moeite aan niet-kritische codepaden.

  • Les 4 • Schalen met Shiny Server en belastingtesten

    Configureer werkprocessen en voer belastingtesten uit met shinyloadtest om capaciteitslimieten te vinden. Belastingtesten vóór de lancering voorkomen uitval onder echt gebruikersverkeer.

  • Les 5 • Cachen met bindCache en memoise

    Pas bindCache() toe op weergavefuncties en memoise() op pure R-functies om overbodige berekeningen te voorkomen. Caching is de optimalisatie met de hoogste hefboomwerking voor data-intensieve apps.

Hoofdstuk 8Bekijk details

Implementatie en productiegereedheid

  • Les 1 • Authenticatie en toegangscontrole

    Beperk app-toegang met Posit Connect-machtigingen, shinymanager of OAuth-integraties. Beschermt gevoelige gegevens en voldoet aan beveiligingseisen van de organisatie.

  • Les 2 • Implementeren op shinyapps.io

    Publiceer apps naar het beheerde shinyapps.io-platform met rsconnect en configureer instantie-instellingen. De snelste weg van een lokale app naar een openbaar toegankelijke URL.

  • Les 3 • Logging en foutbewaking

    Implementeer gestructureerde logging met het logger-pakket en leg runtime-fouten vast voor waarschuwingen. Observeerbaarheid is essentieel voor het diagnosticeren van problemen in productie zonder gebruikersrapporten.

  • Les 4 • Continue implementatiepijplijnen

    Automatiseer testen en implementatie met GitHub Actions en rsconnect CLI bij elke codepush. CI/CD elimineert handmatige implementatiestappen en handhaaft kwaliteitsdrempels.

  • Les 5 • Zelfgehoste implementatieopties

    Implementeer apps op Posit Connect of open-source Shiny Server op Linux virtuele machines. Zelfhosten biedt de gegevensresidentiecontrole die veel organisaties vereisen.

Certificering

Jouw geldig certificaat van voltooiing

Deze cursus is voor jou:

  • Data-analisten: klaar om statische exporten te vervangen door interactieve, deelbare tools.

  • Academische onderzoekers: die bevindingen willen delen via verkennbare, browsergebaseerde interfaces.

  • Ontwikkelaars van business intelligence: die R-native app-levering aan hun vaardigheden willen toevoegen.

  • R-programmeurs: gretig om verder te gaan dan scripts naar gestructureerde, inzetbare applicatiecode.

  • Statistici: die een praktische manier nodig hebben om klanten modellen te laten verkennen zonder code te schrijven.

  • Carrièreswitchers: die datarollen betreden en een concreet, aantoonbaar full-stack project willen.

Wat onze studenten zeggen

Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...
Giulio Carlo
Giulio CarloStudent Digitale Marketing
Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.
Mariana Ferres
Mariana FerresStudent Fotografie
Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!
Luciana Alvarenga
Luciana AlvarengaStudent Nageldesign
Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.
André Felipe
André FelipeStudent Prompt Engineering

Belangrijkste opleidingen

FAQ

Wie is Dedika?

Is het certificaat geldig in Nederland?

Zijn de cursussen gratis?

Wat is de studielast van de cursus?

Hoe zien de cursussen eruit?

Hoe werken de cursussen?

Wat is de duur van de cursussen?

Wat zijn de kosten of prijzen van de cursussen?

Wat is een EAD- of online cursus en hoe werkt het?

PDF-cursus