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:

  1. Intervallgrenzen angeben
  2. Anzahl Intervalle
  3. Funktion für die Anzahl Intervalle angeben
  4. 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)