Exploration von Verteilungen

In diesem Kapitel geben wir Ihnen einen Überblick zur grafischen Exploration von Verteilungen.

Quellcode als Script / Daten




Stamm-Blatt-Diagramme



Script


# Einfaches Stamm-Blatt-Diagramm


stem(bsp01$IQ)


Console


The decimal point is 1 digit(s) to the right of the |

  5 | 8
  6 | 7
  7 | 33556689999
  8 | 1223334455666678
  9 | 00122344455556788889
 10 | 0000111111223344445555566
 11 | 01113346666688889
 12 | 113479
 13 | 38
 14 |
 15 | 1








Script


# Laden des Package aplpack: Das Package muss vorher installiert sein.


library(aplpack)
stem.leaf.backback(IQ_maenner, IQ_frauen, m=1)


Console



1 | 2: represents 12, leaf unit: 1
          IQ_maenner     IQ_frauen
____________________________________________________
1                  8|  5 |
                    |  6 |7                        1
4                996|  7 |33556899                 9
8               6632|  8 |123344556678            21
21     9886555432210|  9 |0445788                 (7)
(9)        665544431| 10 |0000111112234555        30
12            888311| 11 |01346666689             14
6                431| 12 |179                      3
3                 83| 13 |
                    | 14 |
____________________________________________________
HI: 151
n:                42      58
____________________________________________________








Script


# Farbdefinition für Web-Grafiken


my_blue <- rgb(11,83,148, maxColorValue=255)
my_blue2 <- rgb(207,226,234, maxColorValue=255)
my_red <- rgb(166,77,121, maxColorValue=255)
my_red2 <- rgb(234,209,220, maxColorValue=255)
my_green <- rgb(39,78,19, maxColorValue=255)








Exploration von Häufigkeiten



Script


# Ein einfaches Balkendiagramm für die Häufigkeitsverteilung des Geschlechts.


barplot(table(bsp01$sex))


Plot










Script


# Balkendiagramm mit der Definition einiger Argumente


barplot(


# das table-Objekt als Grundlage für das Diagramm


table(bsp01$sex),


# main bezeichnet den Titel


main="Geschlechterverteilung",


# xlab bezeichnet die x-Achse


xlab="Geschlecht"


# ylab bezeichnet die y-Achse


ylab="absolute Häufigkeit",


# names.arg definiert die Bezeichnungen der jeweiligen Gruppen


names.arg=c("Frauen", "Männer"),


# ylim gibt die Länge der y-Achse vom Minimum bis zum Maximum an


ylim=c(0,60),


# space Einheiten zwischen den Balken


space=0,


# width Einheiten der Balkenbreite im zugrundeliegenden Koordinatensystem


width=1,


# col Farbgebung: bei zwei Balken, zwei Farbwerte


col=c(my_red, my_blue)
)


Plot










Script


# Erstellung zweidimensionaler Balkendiagramme


attach(pedersen)

barplot(table(sex, desired),beside=TRUE, horiz=T,
xlab="Wie viele Sexualpartner wünschen Sie sich in den
nächsten 30 Jahren?", ylab="Häufigkeit der Antworten", cex.names=.5)


Plot










Script


# Anzeige der Dimensionen und Kategorien des Datensatzes Titanic


library(datasets)
dimnames(Titanic)


Console


$Class
[1] "1st" "2nd" "3rd" "Crew"

$Sex
[1] "Male" "Female"

$Age
[1] "Child" "Adult"

$Survived
[1] "No" "Yes"








Script


# Auswahl der Teiltabellen für das Geschlecht (2) und das Überleben (4)


margin.table(Titanic, c(2,4))


Console


Survived
Sex No Yes
Male 1364 367
Female 126 344








Script


# Zweidimensionales Häufigkeitsdiagramm mit absoluter Häufigkeit


barplot(sex_surv,
ylab="absolute Häufigkeit", xlab="Überleben", beside=T,
names.arg=c("Nein", "Ja"), main="Absolute Häufigkeit",
col=c(my_blue, my_red))


# Erstellung einer Legende


legend("topright", legend=c("Männer", "Frauen"), fill=c(my_blue, my_red))


Plot







Punktdiagramm



Script


# Punktdiagramm mit Hilfslinien


dotchart(as.table(sort(state.x77[,1])[40:50]),xlab="Anzahl der Einwohner x 1000",
main="Bevölkerungsreichste US-Bundesstaaten 1977")


Plot







Histogramme



Script


# Einfaches Histogramm


hist(x=bsp01$IQ, main="Histogramm für Häufigkeiten", ylab="Häufigkeit", xlab="IQ")


Plot










Script


# Histogramm mit unterschiedlicher Intervallbreite
# Definition der Intervallgrenzen


br <- c(50,65,75,80,85,90,95,100,105,110,115,120,130,160)


# Zeichnung des Histogramms und Speicherung der Histogrammparameter in h


h <- hist(bsp01$IQ,
#Angabe der Intervallgrenzen definiert in br
breaks=br, freq=T, cex.main=.8, ylab="Häufigkeit",
main="Histogramm mit ungleichen Intervallen\nund Häufigkeitswerten"
)


# Code für die Datenbeschriftung


B <- NULL
for (i in 1:13) B[i] <- mean(c(br[i],br[i+1]))
text(B, h$count, labels=as.character(h$count), pos=1, cex=.5, offset=.2)


Plot







Boxplots



Script


# Einfaches Boxplot


boxplot(Stress~AZ, ylab="Stresserleben", xlab="Arbeitszufriedenheit",
names=c("sehr gering", "gering", "mittel", "hoch", "sehr hoch"))


Plot










Script


# Boxplots mit Kerben für verschiedene Gruppen


boxplot(Stress~AZ, ylab="Stresserleben", xlab="Arbeitszufriedenheit",
names=c("(1) sehr gering", "(2) gering", "(3) mittel", "(4) hoch",
"(5) sehr hoch"), notch=TRUE, cex.axis=.9)


Plot







Violinplot



Script


# Violinplot


library(vioplot)
vioplot(IQ_maenner, IQ_frauen, col=my_blue,
names=c("Männer", "Frauen"))


Plot