Cosa usi per generare una dashboard in R?


17

Devo generare rapporti periodici (giornalieri, mensili) sul dashboard di analisi web. Saranno statici e non richiedono interazione, quindi immagina un file PDF come output di destinazione. I report mescoleranno tabelle e grafici (principalmente grafici sparkline e bullet creati con ggplot2). Pensa a dashboard stile Stephen Few / Perceptual Edge, come:dashboard di esempio

ma applicato all'analisi web.

Qualche suggerimento su quali pacchetti utilizzare per la creazione di questi rapporti sulla dashboard?

La mia prima intuizione è usare R markdown e knitr, ma forse hai trovato una soluzione migliore. Non riesco a trovare ricchi esempi di dashboard generati da R.


Suggerisco di sostituire untaggedtag con r, dashboards, reportso simili.
Aleksandr Blekh,

Hai creato questa dashboard come descritto sopra? Mi piacerebbe dare un'occhiata al codice!
Kare,

Risposte:


15

Penso che Shinysia eccessivo in questa situazione e non corrisponda al requisito dei report del dashboard per essere statici . Immagino che il tuo uso del termine "dashboard" sia un po 'confuso, poiché alcune persone potrebbero considerare che ha più enfasi sull'interattività ( dashboard in tempo reale ), piuttosto che sul layout delle informazioni , come è mia comprensione (confermato dal " "requisito statico).

La mia raccomandazione è di usare R Markdown e knitr , specialmente perché questi pacchetti hanno una curva di apprendimento molto più bassa rispetto a Shiny . Inoltre, ho recentemente incontrato un pacchetto R, che, a mio avviso, soddisfa idealmente il tuo requisito di incorporare piccoli grafici / diagrammi in un rapporto, come presentato nella tua foto sopra. Questo pacchetto genera tabelle grafiche statiche o dinamiche e si chiama sparkTable ( http://cran.r-project.org/web/packages/sparkTable ). La vignetta è disponibile qui (non è presente alcun collegamento nella home page del pacchetto): http://publik.tuwien.ac.at/files/PubDat_228663.pdf . Se mai avessi bisogno di interattività ,sparkTablefornisce alcuni tramite la sua semplice interfaccia a Shiny.


Non sapevo di sparkTable, sembra un ottimo strumento per il lavoro.
Shadowtalker,

@ssdecontrol: fino a poco tempo fa non lo sapevo neanche io. Sembra un ottimo strumento, di sicuro. Non vedo l'ora di provarlo nel mio progetto, se avrò bisogno e opportunità.
Aleksandr Blekh,

9

Shiny è un framework per la generazione di app basate su HTML che eseguono il codice R in modo dinamico. Le app Shiny possono essere knitrisolate o integrate nei documenti Markdown e lo sviluppo Shiny è completamente integrato in RStudio. C'è anche un servizio gratuito chiamato shinyapps.io per l'hosting di app Shiny, il shinypacchetto ha funzioni per distribuire app Shiny direttamente da R e RStudio ha un'interfaccia GUI per chiamare quelle funzioni. Ci sono molte altre informazioni nella sezione Tutorial del sito.

Poiché essenzialmente "compila" il tutto in JavaScript e HTML, è possibile utilizzare CSS per modificare liberamente la formattazione e il layout, sebbene Shiny abbia una funzionalità di wrapper decente per questo. Ma succede solo che la loro combinazione di colori predefinita è simile a quella nello screenshot che hai pubblicato.

modifica: ho appena realizzato che non è necessario che siano dinamici. Shiny rende le pagine web molto carine e originali, con molte opzioni per riordinare gli elementi. C'è anche funzionalità per il download di grafici, quindi puoi generare la dashboard ogni mese semplicemente aggiornando i file di dati nell'app e quindi salvando l'immagine risultante in PDF.



1

Ho dovuto creare una dashboard basata sul web. Il mio principale strumento per la creazione di grafici era d3js. Ma avevo bisogno di usare ggplot2 per generare pochi grafici. Attraverso l'estensione ggplot2 di d3js, ho potuto creare lo stesso. Se i tuoi grafici possono essere generati attraverso l'estensione esistente, il Web offre alternative migliori. Successivamente è possibile esportarli in PDF per la distribuzione.



1

Puoi provare ShinyDashboard e tralasciare qualsiasi aspetto interattivo. A mio avviso, è comunque bello consentire agli utenti di ingrandire le trame o cercare determinati valori in una colonna. Shiny ti permetterà di farlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.