Histogramme und Streudiagramme sind großartige Methoden zur Visualisierung von Daten und der Beziehung zwischen Variablen, aber in letzter Zeit habe ich mich gefragt, welche Visualisierungstechniken mir fehlen. Was ist Ihrer Meinung nach die am wenigsten genutzte Art von Handlung?
Antworten sollten:
- In der Praxis nicht sehr häufig verwendet werden.
- Seien Sie verständlich ohne viel Hintergrunddiskussion.
- Seien Sie in vielen gängigen Situationen anwendbar.
- Fügen Sie reproduzierbaren Code ein, um ein Beispiel zu erstellen (vorzugsweise in R). Ein verlinktes Bild wäre schön.
Antworten:
Ich stimme den anderen Postern wirklich zu: Tuftes Bücher sind fantastisch und lesenswert.
Zunächst möchte ich Sie auf ein sehr schönes Tutorial zu ggplot2 und ggobi aus "Looking at Data" Anfang dieses Jahres verweisen . Darüber hinaus möchte ich nur eine Visualisierung aus R und zwei Grafikpakete hervorheben (die nicht so häufig verwendet werden wie Basisgrafiken, Gitter oder ggplot):
Heatmaps
Ich mag Visualisierungen, die multivariate Daten verarbeiten können, insbesondere Zeitreihendaten. Wärmekarten können hierfür hilfreich sein. Eine wirklich nette wurde von David Smith im Revolutions-Blog vorgestellt . Hier ist der ggplot-Code mit freundlicher Genehmigung von Hadley:
Was am Ende ungefähr so aussieht:
RGL: Interaktive 3D-Grafik
Ein weiteres Paket, dessen Erlernen sich lohnt, ist RGL , mit dem auf einfache Weise interaktive 3D-Grafiken erstellt werden können. Hierfür sind viele Beispiele online (einschließlich in der rgl-Dokumentation).
Das R-Wiki bietet ein schönes Beispiel für das Zeichnen von 3D-Streudiagrammen mit rgl.
GGobi
Ein weiteres wissenswertes Paket ist rggobi . Es gibt ein Springer-Buch zu diesem Thema und viele großartige Online-Dokumentationen / Beispiele, einschließlich des Kurses "Looking at Data" .
quelle
Ich mag Dotplots sehr und finde, wenn ich sie anderen wegen entsprechender Datenprobleme empfehle, sind sie ausnahmslos überrascht und erfreut. Sie scheinen nicht viel zu gebrauchen, und ich kann nicht herausfinden, warum.
Hier ist ein Beispiel von Quick-R:
Ich glaube, Cleveland ist am meisten für die Entwicklung und Verbreitung dieser Daten verantwortlich, und das Beispiel in seinem Buch (in dem fehlerhafte Daten mit einem Punktdiagramm leicht erkannt wurden) ist ein schlagkräftiges Argument für ihre Verwendung. Beachten Sie, dass im obigen Beispiel nur ein Punkt pro Zeile eingefügt wird, während die tatsächliche Leistung darin besteht, dass Sie mehrere Punkte in jeder Zeile haben, wobei eine Legende erklärt, welcher welcher ist. Zum Beispiel könnten Sie verschiedene Symbole oder Farben für drei verschiedene Zeitpunkte verwenden und so leicht ein Gefühl für Zeitmuster in verschiedenen Kategorien bekommen.
Im folgenden Beispiel (ausgerechnet in Excel!) Können Sie deutlich sehen, welche Kategorie möglicherweise unter einem Etikettentausch gelitten hat.
quelle
Diagramme mit Polarkoordinaten werden sicherlich nicht ausreichend genutzt - manche würden dies aus gutem Grund sagen. Ich denke, die Situationen, die ihre Verwendung rechtfertigen, sind nicht häufig. Ich denke auch, dass in solchen Situationen Polardiagramme Muster in Daten aufdecken können, die lineare Diagramme nicht können.
Ich denke, das liegt daran, dass Ihre Daten manchmal eher von Natur aus polar als linear sind - z. B. zyklisch (x-Koordinaten, die Zeiten während eines 24-Stunden-Tages über mehrere Tage darstellen) oder die Daten zuvor auf einen polaren Merkmalsraum abgebildet wurden.
Hier ist ein Beispiel. Dieses Diagramm zeigt das durchschnittliche Verkehrsaufkommen einer Website pro Stunde. Beachten Sie die beiden Spitzen um 22 Uhr und um 1 Uhr. Für die Netzwerktechniker der Site sind diese von Bedeutung. Es ist auch wichtig, dass sie nahe beieinander auftreten (nur zwei Stunden voneinander entfernt). Wenn Sie jedoch dieselben Daten in einem herkömmlichen Koordinatensystem darstellen, wird dieses Muster vollständig ausgeblendet - linear dargestellt, sind diese beiden Spitzen 20 Stunden voneinander entfernt, obwohl sie an aufeinanderfolgenden Tagen auch nur zwei Stunden voneinander entfernt sind. Das Polardiagramm oben zeigt dies auf sparsame und intuitive Weise (eine Legende ist nicht erforderlich).
Es gibt zwei Möglichkeiten (die mir bekannt sind), solche Diagramme mit R zu erstellen (ich habe das Diagramm über w / R erstellt). Eine besteht darin, Ihre eigene Funktion entweder im Basis- oder im Rastergrafiksystem zu codieren. Die andere Möglichkeit, die einfacher ist, besteht darin, das Rundpaket zu verwenden . Die Funktion, die Sie verwenden würden, ist ' rose.diag ':
quelle
qplot(y=data, x=1:length(data), fill=factor(1:length(data)), stat='identity', geom='bar') + coord_polar()
Wenn Ihr Streudiagramm so viele Punkte enthält, dass es zu einem völligen Durcheinander kommt, versuchen Sie es mit einem geglätteten Streudiagramm. Hier ist ein Beispiel:
Das
hexbin
Paket (vorgeschlagen von @Dirk Eddelbuettel) wird für den gleichen Zweck verwendet,smoothScatter()
hat jedoch den Vorteil, dass es zumgraphics
Paket gehört und somit Teil der Standard-R-Installation ist.quelle
In Bezug auf Sparkline und andere Tufte-Ideen bietet das YaleToolkit- Paket auf CRAN Funktionen
sparkline
undsparklines
.Ein weiteres Paket, das für größere Datensätze nützlich ist, ist hexbin, da es Daten geschickt in Buckets " bündelt ", um mit Datensätzen umzugehen, die für naive Streudiagramme möglicherweise zu groß sind.
quelle
plot
over in einem Update meiner Frage zu erzeugen , mit Hilfe dieses Tufte-ForumsbeitragsHmisc::latex()
Ausgabeversion vonHmisc::describe
enthält ein Mini-Histogramm, das in die Tabelle aufgenommen wird.Violin-Plots (die Box-Plots mit Kernel-Dichte kombinieren) sind relativ exotisch und ziemlich cool. Mit dem Vioplot- Paket in R können Sie sie ganz einfach erstellen .
Hier ist ein Beispiel (Der Wikipedia-Link zeigt auch ein Beispiel):
quelle
bwplot(... panel = panel.violin)
Eine weitere schöne Zeitreihenvisualisierung, die ich gerade überprüft habe, ist das "Bump Chart" (wie in diesem Beitrag im "Learning R" -Blog vorgestellt ). Dies ist sehr nützlich, um Positionsänderungen im Laufe der Zeit zu visualisieren.
Informationen zum Erstellen finden Sie unter http://learnr.wordpress.com/. Am Ende sieht es jedoch so aus:
quelle
Ich mag auch Tuftes Modifikationen von Boxplots, mit denen Sie kleine Vielfache viel einfacher vergleichen können, da sie horizontal sehr "dünn" sind und die Handlung nicht mit redundanter Tinte überladen. Es funktioniert jedoch am besten mit einer relativ großen Anzahl von Kategorien. Wenn Sie nur wenige auf einem Grundstück haben, sehen die regulären (Tukey) Boxplots besser aus, da sie etwas schwerer sind.
Andere Möglichkeiten, diese zu erstellen (einschließlich der anderen Art von Tufte-Boxplot), werden in dieser Frage erörtert .
quelle
Wir sollten die niedliche und (historisch) wichtige Stamm-Blatt-Handlung nicht vergessen (die Tufte auch liebt!). Sie erhalten eine direkt numerische Übersicht über Ihre Datendichte und -form (natürlich, wenn Ihr Datensatz nicht größer als etwa 200 Punkte ist). In R
stem
erzeugt die Funktion Ihre Stamm- und Blattanzeige (im Arbeitsbereich). Ich bevorzuge diegstem
Funktion aus dem Paket fmsb, um es direkt in ein Grafikgerät zu zeichnen. Unten sehen Sie eine Abweichung der Biberkörpertemperatur (Daten sollten sich in Ihrem Standarddatensatz befinden) in einer blattweisen Anzeige:quelle
Horizontgraphen (pdf) zur gleichzeitigen Visualisierung vieler Zeitreihen.
Parallele Koordinatendiagramme (pdf) für die multivariate Analyse.
Verband und Mosaik - Plots, für Kontingenztafeln Visualisierung (siehe vcd - Paket)
quelle
Neben Tuftes hervorragender Arbeit empfehle ich die Bücher von William S. Cleveland: Visualisierung von Daten und die Elemente der grafischen Darstellung von Daten . Sie sind nicht nur exzellent, sondern wurden alle in R erstellt, und ich glaube, der Code ist öffentlich verfügbar.
quelle
Boxplots! Beispiel aus der R-Hilfe:
Meiner Meinung nach ist es die praktischste Möglichkeit, einen kurzen Blick auf die Daten zu werfen oder Verteilungen zu vergleichen. Für komplexere Distributionen gibt es eine Erweiterung namens
vioplot
.quelle
Mosaikplots scheinen mir alle vier genannten Kriterien zu erfüllen. Es gibt Beispiele in r unter Mosaikplot.
quelle
Schauen Sie sich Edward Tuftes Arbeit an und besonders dieses Buch an
Sie können auch versuchen, zu fangen seine Reisepräsentation zu . Es ist ziemlich gut und enthält ein Bündel von vier seiner Bücher. (Ich schwöre, ich besitze nicht die Aktien seines Verlags!)
Übrigens mag ich seine Sparkline-Datenvisualisierungstechnik. Überraschung! Google hat es bereits geschrieben und in Google Code veröffentlicht
quelle
Zusammenfassende Handlungen? Wie auf dieser Seite erwähnt:
Visualisierung von Zusammenfassungsstatistiken und Unsicherheiten
quelle