Mit hist(x) könnt ihr in R ganz schnell die Häufigkeitsverteilung eines numerische Vektors x anzeigen lassen. D.h., es werden Intervalle definiert und dann gezählt, wieviele Elemente von x in diesem Intervall liegen. Dabei habt ihr noch die Wahl zwischen absoluter Anzahl (absolute Häufigkeit) und Anteil (relativer Häufigkeit, also als %-Angabe).
Parameter von hist
Natürlich stehen die normalen Grafikparameter zur Verfügung, also
- main: Titel der Grafik
- xlab: Bezeichnung der x-Achse
- ylab: Bezeichnung der y-Achse
- xlim: Unter- und Obergrenze der x-Achse
- ylim: Unter- und Obergrenze der y-Achse
Wie oben beschrieben kann mit einem Parameter zwischen absoluter und relativer Häufigkeit gewechselt werden. Standardmäßig werden absolute Häufigkeiten angezeigt, mit freq=FALSE oder probability=TRUE werden relative Häufigkeiten angezeigt.
Jetzt kommen wir noch zum Parameter breaks, der für die Unterteilung der x-Achse zuständig ist.
Intervalle wählen
Standardmäßig werden die Unterteilungen automatisch gesetzt. Das funktioniert mehr oder weniger gut. Um die Intervalle selber zu setzen, habt ihr vier Möglichkeiten:
- Intervallgrenzen angeben
- Anzahl Intervalle
- Funktion für die Anzahl Intervalle angeben
- eine der drei vorgegebenen Algorithmen Sturges (Standard), Scott oder FD
Weitere Anpassungen
Standardmäßig sind die Intervalle links offen, rechts abgeschlossen, also (0,1],
d.h. die 0 gehört nicht mehr zum Intervall, die 1 aber schon. Mit right=FALSE kann das geändert werden.
Nur im ersten Intervall ist die linke Grenze mit dabei, das kann mit include.lowest=FALSE
abgeschaltet werden
Beispiel-Code für hist
## Histogramm hist # eingebaute Hilfe ?hist n <- 1000 x <- rnorm(n) hist(x) #Grafikparameter #main: Titel #xlab: Bezeichnung der x-Achse #ylab: Bezeichnung der y-Ache #xlim: Unter- und Obergrenze für x-Achse #ylim: Unter- und Obergrenze für y-Achse #col: Füllfarbe #border: Randfarbe titel <- paste0("Standardnormalverteilung (n=",n,")") hist(x,main=titel,xlim=c(-4,4),ylab="Anzahl",col="blue",border="chocolate") # absolute oder relative Häufigkeiten hist(x,main=titel,xlim=c(-4,4),ylab="Anteil",ylim=c(0,0.5),freq=FALSE) # Intervalle mittel break setzen #Achtung, bei den Fällen 2-4 ist die Zahl nur ein Vorschlag, R muss sich nicht daran halten #1. Vektor mit Intervallgrenzen br <- seq(-4,4,0.5) hist(x,main=titel,xlim=c(-4,4),ylab="Anteil",ylim=c(0,0.5),freq=FALSE, breaks=br) #2. Anzahl der Zellen hist(x,main=titel,xlim=c(-4,4),ylab="Anteil",ylim=c(0,0.5),freq=FALSE, breaks=5) #3. einer der drei vorgegebenen Algorithmen Sturges, Scott oder FD hist(x,main=titel,xlim=c(-4,4),ylab="Anteil",ylim=c(0,0.5),freq=FALSE, breaks="FD") #4. eine Funktion, die die Anzahl Zellen berechnet f <- function(x) {return(2*round(quantile(x,0.99)-quantile(x,0.01)))} hist(x,main=titel,xlim=c(-4,4),ylab="Anteil",ylim=c(0,0.5),freq=FALSE, breaks=f)