
Corso R Shiny
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.
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.
Contenuto del corso
8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliIntroduzione a R e Shiny
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 2NascondiNascondi dettagliVedi dettagliCostruzione di interfacce utente
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 3NascondiNascondi dettagliVedi dettagliFondamenti di reattività
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 4NascondiNascondi dettagliVedi dettagliOutput e funzioni di rendering
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 5NascondiNascondi dettagliVedi dettagliTrasformazione dei dati all'interno di Shiny
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 6NascondiNascondi dettagliVedi dettagliOrganizzazione delle app e moduli
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 7NascondiNascondi dettagliVedi dettagliPrestazioni e scalabilità
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 8NascondiNascondi dettagliVedi dettagliDistribuzione e prontezza per la produzione
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.
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...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

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




















