Website-Icon Björn Walther

Säulendiagramm in R erstellen


Mit einem Säulendiagramm tragt ihr typischerweise die Häufigkeiten von Merkmalsausprägungen in einer Grafik ab. Dieser Artikel zeigt ein Tutorial, wie ihr ein Säulendiagramm in R mit Bordmitteln (barplot()-Funktion) am schnellsten erstellt.

Zunächst müsst ihr eure Daten in R einlesen. Wahlweise löst ihr sie mit dem attach-Befehl aus dem Data Frame heraus. In diesem Artikel zeige ich die Variante mit Zugriff auf den Data Frame. Aufgrund dessen steht vor den jeweiligen Variablen stets mein Data Frame, der “data_xls” heißt sowie das Dollarzeichen ($) zur Verknüpfung. Ich zeige nachfolgend Schritt für Schritt den Aufbau. Wollt ihr ein Balkendiagramm erstellen, hilft euch dieser Artikel.

Für augenfreundliches Arbeiten empfehle ich euch diesen Artikel sehr.

 

1 Säulendiagramm in R – Die Säulen einfügen

Zuerst fangt ihr dem Befehl barplot an. Der grobe Aufbau sieht so aus:


barplot(height, ...)

 

Hier ist bereits erkennbar, dass es aufgrund des Arguments “height” vor allem um die Höhe der Säule geht, die abgetragen werden soll. Im Beispiel möchte ich für das Alter ein Säulendiagramm erstellen. Dabei gibt es zwei grundlegende Herangehensweisen:
 

1.1 Merkmal definiert die Säulenhöhe – für jeden Fall

Der erste Fall ist, dass jeder Fall/jede Person eine Säule bekommt. Deren Höhe wird durch die Ausprägung definiert. In meinem Falle ist im Dataframe data_xls die Variable Alter abgetragen. Zum Beispiel: Fall 1 ist 30 Jahre, Fall 2 ist 35 Jahre. Die erste Säule reicht demnach bis zur 30, die zweite bis zur 35 usw. An der y-Achse steht hier entsprechend das Alter. Die x-Achse, die hier noch unbeschriftet ist, repräsentiert die Fallnummer von 1 bis zum letzten Fall. Es leuchtet ein, dass man mit so einem Säulendiagramm nicht unbedingt viele Fälle sinnvoll bzw. übersichtlich darstellen kann.


barplot(data_xls$Alter)


 

1.2 Häufigkeiten des Merkmals definiert die Säule

Hierbei werden die Häufigkeiten gezählt und diese abgetragen. Dabei erscheint nun auf der x-Achse das Merkmal, also im Beispiel das Alter, und auf der y-Achse entsprechend die Häufigkeiten. Dies nennt man auch Histogramm. Hierzu muss man in R lediglich eine Häufigkeitstabelle als abzubildendes Argument in die Funktion barplot() eingeben. Hier erkennt man im Diagramm nun eine Zählung der Merkmalsausprägungen. Zum Beispiel kommt 27 dreimal vor, 28 fünfmal und so weiter. Die Häufigkeitstabelle wird mit dem einfachen Befehl “table()” erstellt. Der Code für das Diagramm sieht dann wie folgt aus:


barplot(table(data_xls$Alter))


 

2 Säulendiagramm in R – Die Achsenbeschriftung anpassen

Wie man sehen kann, hat man in R ein einfaches Säulendiagramm, wahlweise ohne und mit Häufigkeitszählung erstellt. Allerdings fällt dem geneigten Leser sofort auf, dass die Beschriftung der Achsen noch fehlen und dies tunlichst geändert werden sollte. R trägt in euer Säulendiagramm standardmäßig keine Variablennamen ein. Diesem Umstand können wir recht schnell beheben. Das macht man mit den Befehlen “xlab” und “ylab“.

Für das erste Säulendiagramm schreibt man an die x-Achse die Fallnummer und an die y-Achse das Alter.  Wichtig sind die Anführungszeichen nach dem Gleichheitszeichen. Im Code sieht das dann wie folgt aus:


barplot(data_xls$Alter, xlab = “Fallnummer“, ylab = “Alter“)

 

Auf das Diagramm verzichte ich an der Stelle ausnahmsweise mal.

Wenn ich für das zweite Säulendiagramm (mit Häufigkeitszählung) die Achsenbeschriftungen “Alter in Jahren” für die x-Achse und “Häufigkeit” für die y-Achse festlegen möchte, mache ich das mit den gleichen Befehlen.


barplot(table(data_xls$Alter), xlab = “Alter“, ylab = “Häufigkeit“)


 

3 Einen Titel vergeben

Jedes Diagramm verdient einen Titel. Zumindest dann, wenn ihr es in einer Präsentation verwendet. Das funktioniert mit dem Argument “main“. In meinem Falle soll die Abbildung heißen: “Häufigkeit des Alters”. Der Befehl heißt dann main=”Häufigkeit des Alters”. Auch hier muss man auf die Anführungszeichen achten.


barplot(table(data_xls$Alter), xlab = “Alter“, ylab = “Häufigkeit“, 
        main = “Häufigkeit des Alters“)


 

4 Achsen, Achsenbeschriftung und Titel formatieren

Der Code sieht wie folgt aus.


barplot(table(data_xls$Alter), xlab = “Alter“ , ylab = “Häufigkeit“, 
        main = “Häufigkeit des Alters“,
        cex.axis=1.5, cex.lab=1.5, cex.names = 1.5, 
        cex.main=1.5, axis.lty=1, las=2)

 
 

5 Zusatz: Farbe der Säulen, Achsen und Achsenbeschriftungen ändern

Mit dem Argument “col” könnt ihr euren Säulen zusätzlich einen farbigen Anstrich geben. col.axis ist für die Achsen, col.lab für die Achsenbeschriftung und col.main für den Titel des Streudiagramms. Mit Farbe würde ich allerdings sparsam umgehen. Schwarze oder in Graustufen gehaltene Datenpunkte sind am unverfänglichsten. Dennoch, gibt es die Möglichkeit das Diagramm einzufärben, dazu kann man direkt die Farben in Anführungszeichen (z.B. col=”red”) einfügen. Zu den Farben in R gibt es hier noch mal einen ausführlichen Artikel: Farben in R, der „col“-Befehl.


barplot(table(data_xls$Alter), xlab = “Alter“ , ylab = “Häufigkeit“, 
        main = “Häufigkeit des Alters“,
        cex.axis=1.5, cex.names=1.5, cex.lab=1.5, 
        cex.main=1.5, axis.lty=1, las=2,
        col=“darkred“, col.axis=“darkblue“, 
        col.main=“darkblue“, col.lab=“darkblue“)

 

Im Beispiel habe ich es stark übertrieben. So eine Darstellung würde ich nicht empfehlen. Es sollte nur dazu dienen, wie man beispielhaft mit dem Einfärben in R arbeitet.
 

6 Videotutorial zum Erstellen eines einfachen Säulendiagramms in R

https://www.youtube.com/watch?v=5AJ4aUWKkNE/
 

Die mobile Version verlassen