Womit generieren Sie ein Dashboard in R?

17

Ich muss regelmäßige (tägliche, monatliche) Webanalyse-Dashboard-Berichte erstellen. Sie sind statisch und erfordern keine Interaktion. Stellen Sie sich daher eine PDF-Datei als Zielausgabe vor. In den Berichten werden Tabellen und Diagramme gemischt (hauptsächlich mit ggplot2 erstellte Sparkline- und Bullet-Diagramme). Denken Sie an Stephen Few / Perceptual Edge-Dashboards wie:Beispiel-Dashboard

aber auf Web-Analytics angewendet.

Irgendwelche Vorschläge, welche Pakete zum Erstellen dieser Dashboard-Berichte verwendet werden sollen?

Meine erste Intuition ist, R Markdown und Knitr zu verwenden, aber vielleicht haben Sie eine bessere Lösung gefunden. Ich kann anscheinend keine umfangreichen Beispiele für Dashboards finden, die aus R generiert wurden.

Shadowtalker
quelle
Ich schlage vor , Ersatz - untaggedTag mit r, dashboards, reportsoder ähnliches.
Aleksandr Blekh
Haben Sie dieses Dashboard wie oben beschrieben erstellt? Ich würde mir gerne den Code anschauen!
Kare

Antworten:

15

Ich denke, das Shinyist ein Overkill in dieser Situation und entspricht nicht Ihren Anforderungen an statische Dashboard-Berichte . Ich nehme an, dass Ihre Verwendung des Begriffs "Dashboard" etwas verwirrend ist, da einige Leute der Ansicht sein könnten, dass der Schwerpunkt eher auf Interaktivität ( Echtzeit-Dashboards ) als auf dem Informationslayout liegt , wie nach meinem Verständnis (bestätigt durch " Dashboard "). statische "Anforderung).

Ich empfehle Ihnen, R Markdown und Knitr zu verwenden , zumal diese Pakete eine viel geringere Lernkurve haben als Shiny . Darüber hinaus bin ich kürzlich auf ein R-Paket gestoßen, das meiner Ansicht nach ideal zu Ihrer Anforderung passt, kleine Diagramme / Diagramme in einen Bericht einzubetten, wie in Ihrem obigen Bild dargestellt. Dieses Paket generiert statische oder dynamische Grafiktabellen und heißt sparkTable ( http://cran.r-project.org/web/packages/sparkTable ). Die Vignette ist hier erhältlich (auf der Homepage des Pakets gibt es keinen Link dazu): http://publik.tuwien.ac.at/files/PubDat_228663.pdf . Sollten Sie jemals Interaktivität brauchen ,sparkTablebietet einige über seine einfache Schnittstelle an Shiny.

Aleksandr Blekh
quelle
Ich wusste nichts über sparkTable, sieht nach einem großartigen Werkzeug für diesen Job aus.
Shadowtalker
@ssdecontrol: Bis vor kurzem wusste ich auch nichts davon. Sieht auf jeden Fall nach einem großartigen Werkzeug aus. Ich freue mich darauf, es in meinem Projekt zu versuchen, wenn ich ein Bedürfnis und eine Gelegenheit haben werde.
Aleksandr Blekh
9

Shiny ist ein Framework zum Generieren von HTML-basierten Apps, die R-Code dynamisch ausführen. Shiny-Apps können eigenständig oder mit Markdown-Dokumenten erstellt werden knitr, und die Shiny-Entwicklung ist vollständig in RStudio integriert. Es gibt sogar einen kostenlosen Dienst namens shinyapps.io zum Hosten von Shiny-Apps, das shinyPaket enthält Funktionen zum Bereitstellen von Shiny-Apps direkt aus R, und RStudio verfügt über eine GUI-Oberfläche zum Aufrufen dieser Funktionen. Es gibt viele weitere Informationen im Tutorial-Bereich der Site.

Da es im Wesentlichen das Ganze in JavaScript und HTML "kompiliert", können Sie CSS verwenden, um die Formatierung und das Layout frei zu ändern, obwohl Shiny dafür eine anständige Wrapper-Funktionalität hat. Es kommt jedoch vor, dass das Standardfarbschema dem in dem von Ihnen geposteten Screenshot entspricht.

edit: Mir ist gerade aufgefallen, dass sie nicht dynamisch sein müssen. Shiny macht aus dem Karton immer noch sehr gut aussehende Webseiten mit vielen Optionen zum Neuanordnen von Elementen. Es gibt auch Funktionen zum Herunterladen von Plots, sodass Sie Ihr Dashboard jeden Monat erstellen können, indem Sie einfach Ihre Datendateien in der App aktualisieren und das resultierende Bild als PDF speichern.

Shadowtalker
quelle
2

Ich fand die Flex Dashboard- Option ziemlich cool, interaktiv und benutzerfreundlich. Probieren Sie es aus, vielleicht würden Sie es auch.

In der Zwischenzeit können Sie diese auch ausprobieren.

Ich hoffe es hilft! (Aktualisiere mich, wenn du noch etwas Besseres bekommst.)

Abhishek Jaiswal
quelle
1

Ich musste ein webbasiertes Dashboard erstellen. Mein Haupt-Chart-Tool war d3js. Aber ich musste ggplot2 verwenden, um einige Diagramme zu generieren. Durch die ggplot2-Erweiterung von d3js konnte ich dasselbe erstellen. Wenn Ihre Diagramme über eine vorhandene Erweiterung generiert werden können, bietet das Web bessere Alternativen. Später können Sie sie zur Verteilung als PDF exportieren.

Vikram
quelle
1

Sie könnten ShinyDashboard ausprobieren und alle interaktiven Aspekte weglassen . Meiner Meinung nach ist es immer noch nett, den Benutzern zu erlauben, in Diagramme hineinzuzoomen oder nach bestimmten Werten in einer Spalte zu suchen. Mit Shiny können Sie dies tun.

Stereo
quelle