Graphische Darstellung zweidimensionaler Verteilungen
Aus MM*Stat
Grundbegriffe
Grafische Darstellung nominal- und ordinalskalierter Merkmale
Eine grafische Darstellung zweidimensionaler Häufigkeitsverteilungen für nominalskalierte Merkmale, ordinalskalierte Merkmale und metrisch skalierte Merkmale mit nur wenigen Ausprägungen gestaltet sich insoweit schwierig, da neben den beiden Merkmalsdimensionen eine dritte Dimension für die gemeinsame Häufigkeitsverteilung benötigt wird.
Grundsätzlich bieten sich zwei verschiedene Darstellungsformen an - das gruppierte Balkendiagramm und das 3D-Balkendiagramm.
Gruppiertes Balkendiagramm
Dieses Diagramm erzeugt für jede Ausprägung der einen Variablen eine Gruppe von Balken entsprechend den Ausprägungen der zweiten "Gruppierungs"-Variablen
<R output="display">
pdf(rpdf,width=7, height=7) y <- matrix(data=c(240, 160, 35, 40, 43, 120, 92, 36, 5, 38, 65, 85, 32, 3, 23), nrow = 5, ncol = 3 ) barplot(y, ylim=c(0,250), yaxp=c(0, 250, 5),beside = TRUE, col=c("cornflowerblue","deeppink4","cornsilk1","lightcyan2","purple4"), ylab="Absolute H\u00E4ufigkeit", xlab="Sportliche Bet\u00E4tigung", las=1) axis(side=1, at=c(3.5,9.5,15.5), labels=c("kaum","manchmal","regelm\u00E4\u00DFig")) legend("topright", inset=.05, c("Arbeiter","Angestellter","Beamter","Landwirt","sonstiger freier Beruf"), fill=c("cornflowerblue","deeppink4","cornsilk1","lightcyan2","purple4"), horiz=FALSE) </R> |
3D-Balkendiagramm
Eine plastische Darstellung der zweidimensionalen Häufigkeitsverteilung lässt sich unter Verwendung eines 3D-Balkendiagramms erreichen.
Diese Darstellungsform kann jedoch den Nachteil der Unübersichtlichkeit (Balken verdecken einander) oder erschwerter Interpretierbarkeit (Ablesen der gemeinsamen Häufigkeitsverteilung) mit sich bringen.
<R output="display">
pdf(rpdf,width=7, height=7) library(RColorBrewer) library(lattice) library(latticeExtra) data <- read.table(text='Sport Absolut Beruf kaum 240 Arbeiter kaum 160 Angestellter kaum 35 Beamter kaum 40 Landwirt kaum 43 andere manchmal 120 Arbeiter manchmal 92 Angestellter manchmal 36 Beamter manchmal 5 Landwirt manchmal 38 andere regelm\u00E4\u00DFig 65 Arbeiter regelm\u00E4\u00DFig 85 Angestellter regelm\u00E4\u00DFig 32 Beamter regelm\u00E4\u00DFig 3 Landwirt regelm\u00E4\u00DFig 23 andere',header=TRUE) colors <- c("cornflowerblue","deeppink4","cornsilk1","lightcyan2","purple4") cloud(Absolut~Sport+Beruf, data, panel.3d.cloud=panel.3dbars, col.facet=colors, xbase=0.4, ybase=0.4, scales=list(arrows=FALSE, col=1), par.settings = list(axis.line = list(col = "transparent"))) </R> |
Grafische Darstellung metrisch skalierter Merkmale
Die Beobachtungswerte zweier metrisch skalierter Merkmale lassen sich sehr anschaulich als Punkte in einem kartesischen Koordinatensystem - Streuungsdiagramm oder auch Scatterplot genannt - darstellen.
Streuungsdiagramm (engl. Scatterplot)
Streuungsdiagramme bzw. Scatterplots sind besonders dazu geeignet, eventuell bestehende Zusammenhänge zwischen zwei metrischen Merkmalen sichtbar zu machen (Beispiel: Erhöhung von Merkmal führt zu einer sichtbaren Erhöhung von Merkmal ).
<R output="display">
pdf(rpdf,width=7, height=7) x <- c(1, 1.9, 1.9, 1.9, 2, 2, 2, 2, 2, 2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.9, 2.9, 2.9, 2.9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.3, 3.3, 3.3, 3.3, 3.3, 3.3, 3.3, 3.3, 3.3, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.7, 3.7, 3.7, 3.7, 3.7, 3.7, 3.7, 3.7, 3.7, 3.7, 4, 4, 4, 4, 4, 4, 4, 4.3, 4.3, 4.3, 4.3, 4.3, 4.5, 4.5, 4.5, 4.7, 4.7,5) y <-c(2.3, 1, 2, 2.4, 1.3, 1.5, 1.7, 2.4, 2.6, 2.8, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9, 3.1, 3.3, 1.5, 1.7, 2.2, 2.4, 2.6, 2.7, 2.9, 3.1, 2, 2.2, 2.4, 2.6, 1.9, 2.1, 2.2, 2.3, 2.5, 2.7, 3.3, 3.5, 3.9, 2.3, 2.5, 2.7, 2.9, 3.1, 3.3, 3.5, 3.9, 4.1, 2.3, 2.5, 2.7, 3.1, 3.3, 3.5, 3.7, 4.1, 1, 4.3, 3, 3.2, 3.3, 3.4, 3.6, 3.8, 4.2, 4.4, 2.5, 2.7, 2.9, 3.9, 4.1, 4.3, 4.5, 3, 3.2, 3.3, 3.9, 4.7, 2, 3.5, 5, 3, 5.3, 5.3, 5.3, 5.5) plot(x,y, pch=16, xlab="X", ylab="Y", las=1, lwd=3) </R> |
3D-Scatterplot
In einem 3D-Scatterplot lassen sich drei metrisch skalierte Merkmale gleichzeitig darstellen. Verschiedene statistische Software bietet darüberhinaus auch die Möglichkeit, den 3D-Scatterplot zu rotieren, was das Erkennen möglicher Zusammenhänge unterstützt.
<R output="display">
pdf(rpdf,width=7, height=7) library(scatterplot3d) attach(mtcars) scatterplot3d(wt,disp,mpg, col.grid="white", color="black", pch=16, xlab="", ylab="", zlab="", lwd=3) </R> |
Scatterplot-Matrix
Sollen mehr als zwei metrisch skalierte Merkmale untersucht werden, kann zur grafischen Darstellung die Scatterplot-Matrix verwendet werden.
Hierbei werden die Scatterplots aller möglichen Paare zweier Merkmale erzeugt und in Form einer Matrix zusammengefügt.
Zu beachten ist jedoch, dass mit steigender Anzahl der zu untersuchenden Merkmale die Übersichtlichkeit und damit auch die Interpretierbarkeit abnimmt.
<R output="display">
pdf(rpdf, width=7, height=7) attach(mtcars) pairs(~wt+mpg+disp,data=mtcars, col="black", labels=NA) </R> |
Beispiele
Kriminalitätsraten
In den U.S.A. wurden 1985 unter anderem verschiedene Kriminalitätsraten für 50 Bundesstaaten ermittelt:
- | land area | |
- | population | |
- | murder | |
- | rape | |
- | robbery | |
- | assault | |
- | burglary | |
- | larceny | |
- | auto theft | |
- | US states region number | |
- | US states division number |
Der Zusammenhang zwischen der "Mordrate" und der Größe der "Bevölkerung" lässt sich grafisch in Form eines Scatterplots veranschaulichen.
Jeder Bundesstaat wird in dem Scatterplot durch einen Punkt dargestellt.
<R output="display">
pdf(rpdf, width=7, height=7) x <- c(0.2,0.2,0.5,0.5, 0.5, 0.5, 0.5, 1, 1, 1, 1, 1, 1, 2, 2, 2.3, 2.8,2.8,3, 3, 3.5, 3, 3, 3.8,4,4,4,4,5,5,5,5,5,6.1,6.5,6.5,7.5,10,11,11,11.5,16,17,25,5,6 ) y <- c(2,7,2,4,6,7,13,2.5,3,3.5,4,4.8,9.8,3,2.9,6,7,7.5,1.3,4,5.3,5.5,9,15,2,4,9,13,2,3.8,8.5,10.5,13.8,12,16,5,9,6,5,9,13,11,8,6,12,12) plot(x,y, xlab="population", ylab="murder", las=1, lwd=20, pch=16) </R> |
In dem Scatterplot ist in der Tendenz ein Anstieg der Morde bei steigender Bevölkerungszahl zu erkennen.
Die Darstellung der drei Variablen "population" , "murder" und "robbery" ergibt den foldenden 3D-Scatterplot:
<R output="display">
pdf(rpdf, width=7, height=7) library(scatterplot3d) x <- c(0.2,0.2,0.5,0.5, 0.5, 0.5, 0.5, 1, 1, 1, 1, 1, 1, 2, 2, 2.3, 2.8,2.8,3, 3, 3.5, 3, 3, 3.8,4,4,4,4,5,5,5,5,5,6.1,6.5,6.5,7.5,10,11,11,11.5,16,17,25,5,6 ) y <- c(2,7,2,4,6,7,13,2.5,3,3.5,4,4.8,9.8,3,2.9,6,7,7.5,1.3,4,5.3,5.5,9,15,2,4,9,13,2,3.8,8.5,10.5,13.8,12,16,5,9,6,5,9,13,11,8,6,12,12) z <- c(3.0,3.0,3.0,1.5,1,2.9,4.0,6.0,4.2,1.7,2.5,2.7,4.0,4.2,3.2,4.3,4.3,5.9,5.3,4.2,6.4,3.3,5.5,5.8,6.8,4.5,6.1,6.0,7.3,4.9,6.3 ,6.0,7.7,8.8,8.9,8.4,9.6,12.7,13.3,11.8,12.7,17.7,19.5,24.8,8.0,7.1) scatterplot3d(x,y,z,xlab="population", ylab="murder",zlab="robbery", las=1,color="black", lwd=20, pch=16, main="3D Scatterplot") </R> |