R Shiny Tutorial: come creare applicazioni Web interattive in R
Pubblicato: 2020-03-16Sommario
introduzione
In questa moderna era tecnologica, per tutti noi sono disponibili varie app: dal monitoraggio del nostro livello di forma fisica, al sonno fino al fornirci le ultime informazioni sui mercati azionari. App come Robinhood, Google Fit e Workit sembrano così incredibilmente utili perché utilizzano dati e statistiche in tempo reale. Poiché R è all'avanguardia nel campo del calcolo statistico e della programmazione, gli sviluppatori hanno bisogno di un sistema per utilizzare la sua potenza per creare app. Ulteriori informazioni sulla programmazione R.
È qui che arriva R Shiny per salvare la situazione. In questo tutorial R Shiny imparerai le basi.
Cos'è R Shiny?
Shiny è un pacchetto R sviluppato per la creazione di applicazioni Web interattive in R . Usando questo, puoi creare applicazioni web utilizzando codice HTML e CSS nativo insieme al codice R Shiny. Puoi creare app Web autonome su un sito Web che semplificheranno la visualizzazione dei dati. Queste applicazioni realizzate tramite R Shiny possono visualizzare senza problemi oggetti R come tabelle e grafici.
Diamo un'occhiata ad alcune delle caratteristiche di R Shiny:
- Crea applicazioni web con meno righe di codice, senza JavaScript.
- Queste applicazioni sono attive e sono accessibili agli utenti come fogli di calcolo. Gli output possono alterarsi in tempo reale se gli utenti cambiano l'input.
- Gli sviluppatori con poca conoscenza degli strumenti Web possono anche creare app utilizzando R Shiny.
- Ottieni widget integrati per visualizzare tabelle, output di oggetti R e grafici.
- È possibile aggiungere visualizzazioni e report in tempo reale all'applicazione Web utilizzando questo pacchetto.
- Le interfacce utente possono essere codificate in R o possono essere preparate utilizzando HTML, CSS o JavaScript.
- L'interfaccia utente predefinita viene creata utilizzando Bootstrap.
- Viene fornito con un pacchetto WebSocket che consente una comunicazione veloce tra il server Web e R.
Leggi: Albero decisionale in R
Componenti di un'app R Shiny
Un'app Shiny ha due componenti principali: un oggetto interfaccia utente e una funzione server. Questi sono gli argomenti passati al metodo shinyApp . Questo metodo crea un oggetto applicazione utilizzando gli argomenti.
Impara la scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Leggi anche: Algoritmo KNN in R
Cerchiamo di capire in dettaglio le parti di base di un'app R Shiny :
Funzione interfaccia utente
Questa funzione definisce l'aspetto dell'applicazione web. Rende l'applicazione interattiva ottenendo input dall'utente e visualizzandolo sullo schermo. I tag HTML e CSS possono essere utilizzati per migliorare l'aspetto dell'applicazione. Quindi, durante la creazione del file ui.R, crei un file HTML con funzioni R.
Se digiti fluidPage() nella console R, vedrai che il metodo restituisce un tag <div class="container-fluid"></div>.
Le diverse funzioni di input sono:
- selectInput () – Questo metodo viene utilizzato per creare un HTML a discesa con varie scelte da selezionare.
- numericInput () – Questo metodo crea un'area di input per la scrittura di testo o numeri.
- radioButtons () – Fornisce pulsanti di opzione per consentire all'utente di selezionare un input.
Metodi di impaginazione
Le varie funzionalità di layout disponibili in Bootstrap sono implementate da R Shiny. I componenti sono:
Pannelli
Questi sono metodi che raggruppano gli elementi in un unico pannello. Questi includono:
- pannello assoluto()
- pannello di input()
- pannello condizionale()
- headerPanel()
- pannello fisso()
Funzioni di layout
Questi organizzano i pannelli per un layout particolare. Questi includono:
- riga fluida ()
- layout verticale()
- flussoLayout()
- splitLayout()
- sidebarLayout()
Metodi di output
Questi metodi vengono utilizzati per visualizzare immagini, tabelle e grafici dei componenti di output R. Loro sono:

- tableOutput() – Questo metodo viene utilizzato per visualizzare una tabella R
- plotOutput() – Questo metodo viene utilizzato per visualizzare un oggetto plot R
Funzione server
Dopo aver creato l'aspetto dell'applicazione e le modalità per acquisire i valori di input dall'utente, è il momento di configurare il server. Le funzioni del server ti aiutano a scrivere il codice lato server per l'app Shiny. È possibile creare funzioni che associano gli input dell'utente agli output corrispondenti. Questa funzione viene richiamata dal browser web al caricamento dell'applicazione.
Richiede un parametro di input e output e i valori di ritorno vengono ignorati. Questo metodo utilizza anche un parametro di sessione facoltativo.
Tutorial R Shiny: come iniziare a utilizzare R Shiny?
I passaggi per iniziare a lavorare con il pacchetto R Shiny sono i seguenti:
- Vai alla console R e digita il comando – install.packages ("shiny")
- Il pacchetto include 11 esempi di applicazioni integrate per farti capire come funziona Shiny
Puoi iniziare con l' esempio Hello Shiny per comprendere la struttura di base. Digita questo codice per eseguire Hello Shiny:
libreria (lucido)
runExample(“01_ciao”)
I passaggi per creare una nuova app Shiny sono:
- Apri RStudio e vai all'opzione File
- Seleziona Nuovo progetto in una directory e fai clic sull'applicazione "Shiny Web".
- Otterrai un istogramma e uno slider per testare le modifiche in output rispetto all'input
- Otterrai due script ui.R e server.R per la codifica e la personalizzazione dell'applicazione
Suggerimenti per lo sviluppo di app Shiny
- Prova l'app nel browser per vedere come appare prima di inviarla per la produzione
- Esegui l'intero script durante il debug dell'app
- Fai attenzione agli errori comuni come le virgole
Conclusione
Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al nostro programma Executive PG in Data Science , creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 contro 1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
La parte migliore di Shiny è che non devi conoscere HTML, CSS o JavaScript per usarlo. Inoltre, puoi creare applicazioni e distribuirle sulla versione gratuita di shinyapps.io. Tieni a portata di mano questo tutorial di R Shiny mentre inizi. Ogni scienziato di dati deve avvalersi dell'aiuto di determinati strumenti per far emergere le informazioni dai dati di fronte al pubblico in generale. Shiny è un pacchetto disponibile in R per lo sviluppo di applicazioni web interattive. Hai molte opzioni per comunicare i tuoi risultati attraverso testi, tabelle, visualizzazioni o grafici interattivi. Se conosci la programmazione R, puoi facilmente sviluppare un'app poiché Shiny è abbastanza facile da usare. Ci sono funzionalità integrate per condividere facilmente il tuo lavoro con amici e colleghi. Il design dell'app Shiny è davvero sorprendente. Anche se stai guardando il display predefinito, lo troverai piuttosto intuitivo ed elegante. Cerchiamo di capirlo meglio con l'aiuto di un esempio di un'applicazione meteo. Ogni volta che l'utente ricarica la pagina o modifica anche un piccolo input nella pagina, l'app dovrà aggiornare l'intera pagina con l'aiuto di JS. Ciò aggiungerà molto carico al lato server per elaborare l'aggiornamento. Il framework Shiny è un pacchetto disponibile in R utile per creare applicazioni web interattive. Il pacchetto è meraviglioso in quanto consente di creare visualizzazioni e report altamente efficaci basati sui set di dati disponibili. Oltre a utilizzare gli elementi Shiny, puoi anche utilizzare gli elementi HTML per personalizzare il contenuto dell'applicazione. Quali sono i vantaggi di R Shiny?
In che modo Shiny si distingue dalle applicazioni tradizionali?
D'altra parte, Shiny isolerà o ricaricherà gli elementi dell'app che riducono il carico del server. La struttura svolgerà un ruolo molto importante nella comprensione e nel debug del codice. Si è riscontrato che lo scorrimento delle applicazioni Web è un po' difficile con le app Shiny rispetto alle applicazioni tradizionali. R Shiny è difficile da imparare?
Anche se Shiny è uno strumento piuttosto potente, lo troverai abbastanza facile da imparare se sei a conoscenza della programmazione in R. Si consiglia vivamente di imparare R Shiny se stai pensando di aggiungere qualcosa di creativo al tuo portfolio.