Qu'utilisez-vous pour générer un tableau de bord dans R?


17

Je dois générer des rapports de tableau de bord analytiques Web périodiques (quotidiens, mensuels). Ils seront statiques et ne nécessiteront pas d'interaction, alors imaginez un fichier PDF comme sortie cible. Les rapports mélangeront des tableaux et des graphiques (principalement des graphiques sparkline et puces créés avec ggplot2). Pensez aux tableaux de bord de style Stephen Few / Perceptual Edge, tels que:exemple de tableau de bord

mais appliqué à l'analyse Web.

Des suggestions sur les packages à utiliser pour créer ces rapports de tableau de bord?

Ma première intuition est d'utiliser R markdown et knitr, mais peut-être avez-vous trouvé une meilleure solution. Je n'arrive pas à trouver de riches exemples de tableaux de bord générés à partir de R.


Je propose de remplacer untaggedétiquette avec r, dashboards, reportsou similaire.
Aleksandr Blekh

Avez-vous créé ce tableau de bord comme décrit ci-dessus? J'adorerais jeter un œil au code!
Kare

Réponses:


15

Je pense que Shinyc'est un surpuissant dans cette situation et ne correspond pas à votre exigence de rapports de tableau de bord pour être statique . Je suppose que votre utilisation du terme "tableau de bord" est un peu déroutante, car certaines personnes pourraient considérer qu'il met davantage l'accent sur l' interactivité ( tableaux de bord en temps réel ), plutôt que sur la présentation des informations , comme ma compréhension (confirmée par le " statique ").

Ma recommandation est d'utiliser R Markdown et knitr , d'autant plus que ces packages ont une courbe d'apprentissage beaucoup plus faible que Shiny . De plus, j'ai récemment rencontré un package R, qui, à mon avis, convient parfaitement à votre exigence d'incorporer de petits graphiques / graphiques dans un rapport, comme présenté sur votre photo ci-dessus. Ce package génère des tableaux graphiques statiques ou dynamiques et s'appelle sparkTable ( http://cran.r-project.org/web/packages/sparkTable ). Sa vignette est disponible ici (il n'y a pas de lien vers celle-ci sur la page d'accueil du package): http://publik.tuwien.ac.at/files/PubDat_228663.pdf . Si vous avez besoin d'un peu d' interactivité ,sparkTableen fournit via son interface simple à Shiny.


Je ne connaissais pas sparkTable, cela ressemble à un excellent outil pour le travail.
shadowtalker

@ssdecontrol: Jusqu'à récemment, je ne le savais pas non plus. Cela ressemble à un excellent outil, bien sûr. J'ai hâte de l'essayer dans mon projet, si j'ai un besoin et une opportunité.
Aleksandr Blekh

9

Shiny est un cadre pour générer des applications HTML qui exécutent le code R de manière dynamique. Les applications Shiny peuvent être autonomes ou intégrées aux documents Markdown knitr, et le développement Shiny est entièrement intégré à RStudio. Il existe même un service gratuit appelé shinyapps.io pour l'hébergement des applications Shiny, le shinypackage a des fonctions pour déployer des applications Shiny directement à partir de R, et RStudio a une interface graphique pour appeler ces fonctions. Il y a beaucoup plus d'informations dans la section Tutoriel du site.

Puisqu'il "compile" essentiellement le tout en JavaScript et HTML, vous pouvez utiliser CSS pour modifier librement la mise en forme et la mise en page, bien que Shiny ait une fonctionnalité d'encapsulation décente pour cela. Mais il se trouve que leur jeu de couleurs par défaut est similaire à celui de la capture d'écran que vous avez publiée.

edit: Je viens de réaliser que vous n'avez pas besoin d'eux pour être dynamique. Shiny fait toujours de très belles pages Web hors de la boîte, avec beaucoup d'options pour réorganiser les éléments. Il existe également des fonctionnalités pour télécharger des tracés, vous pouvez donc générer votre tableau de bord chaque mois en mettant simplement à jour vos fichiers de données dans l'application, puis en enregistrant l'image résultante au format PDF.



1

J'ai dû créer un tableau de bord basé sur le Web. Mon principal outil de création de graphiques était d3js. Mais j'avais besoin d'utiliser ggplot2 pour générer quelques graphiques. Grâce à l'extension ggplot2 de d3js, j'ai pu créer la même chose. Si vos graphiques peuvent être générés via une extension existante, le Web propose de meilleures alternatives. Plus tard, vous pouvez les exporter au format PDF pour distribution.



1

Vous pouvez essayer ShinyDashboard et laisser de côté tous les aspects interactifs. À mon avis, il est toujours agréable de permettre aux utilisateurs de zoomer sur des graphiques ou de rechercher certaines valeurs dans une colonne. Shiny vous permettra de le faire.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.