Scegli la tua lingua
Corso R Shiny
Più di 2 milioni di studenti in tutto il mondo

Corso R Shiny

4,3

Impari R Shiny dalle basi e crei applicazioni web interattive e guidate dai dati interamente in R. Questo corso La accompagna dalla sua prima app fino a distribuzioni di livello produttivo con autenticazione, pipeline CI/CD e architettura scalabile. Che Lei sia un analista, un data scientist o uno sviluppatore R, acquisirà le competenze per trasformare dati grezzi in strumenti raffinati e condivisibili.

Dedika per aziende

Cosa imparerai:

Apprenderà a progettare e realizzare applicazioni Shiny complete, partendo dalla sintassi R di base e dal framework Shiny fino ad arrivare all'architettura modulare delle app e alla distribuzione in ambito aziendale. Padroneggerà il modello di programmazione reattiva di Shiny, creerà interfacce utente avanzate con input e output dinamici e integrerà la manipolazione dei dati tidyverse direttamente nei flussi di lavoro reattivi. Il corso tratta le visualizzazioni interattive con plotly e leaflet, il logging strutturato e i test automatici con shinytest2. Approfondirà inoltre le tecniche di ottimizzazione delle prestazioni, tra cui la memorizzazione nella cache, la programmazione asincrona e i test di carico, per mantenere le sue app veloci anche in presenza di traffico utente reale.

Come studi in modo pratico Corso R Shiny

Come metti in pratica Corso R Shiny

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Introduzione a R e Shiny

  • Lezione 1 • Configurazione dell'ambiente R

    Installi R, RStudio e i pacchetti essenziali necessari per lo sviluppo Shiny. Stabilisca la toolchain di base per tutti i capitoli successivi.

  • Lezione 2 • Anatomia di un'app Shiny

    Esamini i componenti ui, server e shinyApp che costituiscono ogni applicazione Shiny. Colleghi i fondamenti di R al modello di esecuzione di Shiny.

  • Lezione 3 • Sintassi R di base per Shiny

    Riveda vettori, data frame, funzioni e flusso di controllo come utilizzati all'interno delle app Shiny. Fornisca la padronanza di R necessaria prima di scrivere codice reattivo.

  • Lezione 4 • Esecuzione della prima app Shiny

    Crei e avvii un'app minima che visualizza testo statico e un grafico. Confermi che l'ambiente sia configurato correttamente e demistifichi il ciclo di esecuzione.

Capitolo 2Vedi dettagli

Costruzione di interfacce utente

  • Lezione 1 • Funzioni di layout e tipi di pagina

    Esplori fluidPage, navbarPage e fillPage per controllare la struttura complessiva dell'app. La scelta del tipo di pagina corretto determina il modo in cui il contenuto si adatta alle diverse dimensioni dello schermo.

  • Lezione 2 • Catalogo dei widget di input

    Implementi input di testo, numerici, data, selezione, checkbox, radio e slider. Ogni widget è associato a un valore di input con nome utilizzato dalla funzione server.

  • Lezione 3 • Stile dell'interfaccia utente con HTML e CSS

    Applichi stili inline, file CSS personalizzati e le funzioni helper HTML di Shiny per perfezionare l'aspetto visivo. Prepari gli studenti all'applicazione di temi con bslib nei capitoli successivi.

  • Lezione 4 • Layout con barra laterale e pannelli

    Utilizzi sidebarLayout, sidebarPanel e mainPanel per separare i controlli dall'output. Questo schema è la convenzione dell'interfaccia utente Shiny più comune e costituisce la base per il successivo lavoro con le dashboard.

  • Lezione 5 • Elementi dell'interfaccia utente dinamici

    Generi componenti dell'interfaccia utente in modo condizionale utilizzando uiOutput e renderUI. Consente interfacce che si adattano allo stato dell'utente senza ricaricare completamente la pagina.

Capitolo 3Vedi dettagli

Fondamenti di reattività

  • Lezione 1 • Espressioni reattive

    Crei espressioni reactive() per memorizzare nella cache calcoli intermedi condivisi tra più output. Riduca il codice duplicato e migliori le prestazioni dell'app.

  • Lezione 2 • Valori reattivi e stato

    Memorizzi lo stato applicativo mutabile utilizzando reactiveValues() e reactiveVal(). Abilita funzionalità come la cronologia delle modifiche, contatori e l'accumulo di dati a livello di sessione.

  • Lezione 3 • Osservatori ed effetti collaterali

    Utilizzi observe() e observeEvent() per attivare effetti collaterali come la scrittura di file o l'aggiornamento degli input. Distingua i produttori reattivi dai consumatori reattivi.

  • Lezione 4 • Isolamento e controllo della reattività

    Applichi isolate(), req() e validate() per controllare quando e come viene eseguito il codice reattivo. Prevenga l'esecuzione prematura e fornisca messaggi di errore chiari per l'utente.

  • Lezione 5 • Il modello di esecuzione reattiva

    Analizzi come Shiny traccia le dipendenze e pianifica la riesecuzione quando gli input cambiano. La comprensione di questo modello previene calcoli ridondanti e bug silenziosi.

Capitolo 4Vedi dettagli

Output e funzioni di rendering

  • Lezione 1 • Rendering di grafici statici e interattivi

    Generi visualizzazioni base R, ggplot2 e plotly all'interno degli slot di output di Shiny. I grafici interattivi abilitano eventi di clic e hover utilizzati nei capitoli successivi.

  • Lezione 2 • Notifiche e indicatori di progresso

    Fornisca un feedback all'utente durante le operazioni lunghe utilizzando showNotification() e withProgress(). Migliori le prestazioni percepite e comunichi chiaramente lo stato dell'app.

  • Lezione 3 • Download e upload di file

    Implementi downloadHandler() per esportazioni CSV e PDF e fileInput() per i dati forniti dall'utente. Chiuda il ciclo di importazione ed esportazione dei dati in un'app completa.

  • Lezione 4 • Output di testo e verbatim

    Visualizzi stringhe dinamiche e output R non elaborato utilizzando renderText() e renderPrint(). Costituisce il tipo di output più semplice e convalida che la reattività sia collegata correttamente.

  • Lezione 5 • Tabelle con DT e gt

    Renderizzi tabelle di dati interattive utilizzando il pacchetto DT e tabelle statiche formattate con gt. Le tabelle sono l'output di dati più comune nelle app Shiny aziendali.

Capitolo 5Vedi dettagli

Trasformazione dei dati all'interno di Shiny

  • Lezione 1 • Filtraggio reattivo dei dati

    Applichi dplyr filter() all'interno di espressioni reattive guidate dagli input dei widget. Il filtraggio reattivo è il modello principale per le app di esplorazione dei dati.

  • Lezione 2 • Gestione dei dati mancanti e sporchi

    Rilevi e gestisca i valori NA, le mancate corrispondenze di tipo e gli input malformati prima del rendering. Previene errori criptici e garantisce che gli output rimangano significativi.

  • Lezione 3 • Connessione delle origini dati alle app

    Carichi file CSV, Excel e RDS all'avvio o in modo reattivo in base all'input dell'utente. La corretta strategia di caricamento dei dati determina il tempo di avvio dell'app e l'uso della memoria.

  • Lezione 4 • Trasformazione e riepilogo dei dati

    Utilizzi mutate(), group_by() e summarize() all'interno di pipeline reattive per derivare nuove metriche. I dati trasformati alimentano simultaneamente sia gli output dei grafici che delle tabelle.

  • Lezione 5 • Lavorare con i database tramite DBI

    Si connetta a database SQL utilizzando DBI ed esegua query parametrizzate da input reattivi. Consente alle app di interrogare grandi set di dati senza caricarli in memoria.

Capitolo 6Vedi dettagli

Organizzazione delle app e moduli

  • Lezione 1 • Strutturazione di grandi progetti Shiny

    Organizzi il codice nelle directory R/, www/ e data/ seguendo le convenzioni golem e standard. Una buona struttura riduce i tempi di onboarding e i conflitti di merge.

  • Lezione 2 • Costruzione di app come pacchetti R

    Racchiuda un'app Shiny all'interno di un pacchetto R utilizzando golem per ottenere documentazione, test e gestione delle dipendenze. La struttura a pacchetto è lo standard del settore per le app di produzione.

  • Lezione 3 • Passaggio di dati tra moduli

    Restituisca valori reattivi dai moduli e li passi come argomenti ai moduli fratelli. Abilita flussi di dati complessi multi-modulo senza stato globale.

  • Lezione 4 • Introduzione ai moduli Shiny

    Incapsuli la logica dell'interfaccia utente e del server in funzioni di modulo con namespace utilizzando moduleServer(). I moduli prevengono i conflitti di ID e consentono il riutilizzo dei componenti tra le app.

  • Lezione 5 • Test delle app Shiny con shinytest2

    Scriva test di snapshot e interazione utilizzando il pacchetto shinytest2 per individuare le regressioni. I test automatizzati sono essenziali prima di distribuire app aggiornate in produzione.

Capitolo 7Vedi dettagli

Prestazioni e scalabilità

  • Lezione 1 • Ottimizzazione dei dati e del rendering

    Riduca i dati trasferiti al browser pre-aggregando lato server e utilizzando formati di output efficienti. Carichi utili più ridotti migliorano direttamente il tempo di interattività per gli utenti finali.

  • Lezione 2 • Programmazione asincrona con promises

    Trasferisca le operazioni lente a processi in background utilizzando i pacchetti promises e future. L'esecuzione asincrona impedisce che la query lenta di un utente blocchi tutte le altre sessioni.

  • Lezione 3 • Profilazione delle prestazioni dell'app

    Utilizzi profvis e reactlog per identificare catene reattive lente e colli di bottiglia nel rendering. La profilazione prima dell'ottimizzazione evita sforzi inutili su percorsi di codice non critici.

  • Lezione 4 • Scalabilità con Shiny Server e test di carico

    Configuri i processi worker e conduca test di carico utilizzando shinyloadtest per trovare i limiti di capacità. I test di carico prima del lancio prevengono interruzioni sotto il traffico reale degli utenti.

  • Lezione 5 • Caching con bindCache e memoise

    Applichi bindCache() alle funzioni di rendering e memoise() alle funzioni R pure per evitare calcoli ridondanti. La cache è l'ottimizzazione a più alto impatto per le app ad alta intensità di dati.

Capitolo 8Vedi dettagli

Distribuzione e prontezza per la produzione

  • Lezione 1 • Autenticazione e controllo degli accessi

    Limiti l'accesso alle app utilizzando i permessi di Posit Connect, shinymanager o integrazioni OAuth. Protegge i dati sensibili e soddisfa i requisiti di sicurezza organizzativi.

  • Lezione 2 • Distribuzione su shinyapps.io

    Pubblichi app sulla piattaforma gestita shinyapps.io utilizzando rsconnect e configuri le impostazioni dell'istanza. Il percorso più rapido da un'app locale a un URL accessibile pubblicamente.

  • Lezione 3 • Logging e monitoraggio degli errori

    Implementi un logging strutturato con il pacchetto logger e acquisisca gli errori di runtime per gli avvisi. L'osservabilità è essenziale per diagnosticare i problemi in produzione senza segnalazioni da parte degli utenti.

  • Lezione 4 • Pipeline di distribuzione continua

    Automatizzi il test e la distribuzione utilizzando GitHub Actions e la CLI di rsconnect ad ogni push del codice. La CI/CD elimina i passaggi di distribuzione manuale e impone controlli di qualità.

  • Lezione 5 • Opzioni di distribuzione self-hosted

    Distribuisca app su Posit Connect o Shiny Server open-source su macchine virtuali Linux. L'auto-hosting fornisce il controllo sulla residenza dei dati richiesto da molte organizzazioni.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Analisti di dati: siete pronti a sostituire le esportazioni statiche con strumenti interattivi e condivisibili.

  • Ricercatori accademici: desiderano condividere i risultati tramite interfacce esplorabili e basate su browser.

  • Sviluppatori di business intelligence: desiderano aggiungere alle proprie competenze la distribuzione di applicazioni native in R.

  • Programmatori R: desiderosi di passare dagli script a codice applicativo strutturato e distribuibile.

  • Statistici: alla ricerca di un modo pratico per permettere ai clienti di esplorare i modelli senza scrivere codice.

  • Persone in transizione di carriera: stanno entrando in ruoli legati ai dati e desiderano un progetto full-stack concreto e dimostrabile.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF