Berechnung der Maßzahlen in R#

Wir zeigen hier, wie man die eben kennengelernten Maßzahlen in R berechnen kann. Das ist in den meisten Fällen sehr einfach, da bereits vorgefertigte Befehle existieren. Trotzdem wollen wir betrachten, wie man die Maßzahlen allein mit Grundrechenarten – ohne vorgefertigte Befehle – berechnen kann. Das dient vor allem dazu, dass wir uns mit R vertraut machen.

Wir wählen zunächst eine Stichprobe, mit der wir hier arbeiten wollen.

x <- c(3,5,8,6,5,2,5,8,7,6,4,5,8,9,11,4,12,6,3,5)

# Größe der Stichprobe
n <- length(x)
n
20

Das arithmetische Mittel#

\(\bar x=\sum_{i=1}^n x_i\)

# Berechnung mit dem R-Befehl
mean(x)

# Alternative Berechnung: summiere alle x-Werte und teile durch n
sum(x)/n 
6.1
6.1

Varianz, Standardabweichung und Variationskoeffizient#

\( s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 \quad \) und \(\quad s = \sqrt{s^2}\)

var(x)        # Varianz mit R-Befehl
sd(x)         # Standardabweichung mit R-Befehl

# Alternative Berechnung
sum((x-mean(x))^2)/(n-1)          # Varianz
sqrt(sum((x-mean(x))^2)/(n-1))    # Standardabweichung

# Variationskoeffizient
sd(x)/mean(x)
6.83157894736842
2.61372893532754
6.83157894736842
2.61372893532754
0.428480153332383

Spannweite#

\(r = \max(x_1,\dots,x_n) - \min(x_1,\dots,x_n)\)

max(x)-min(x)       # Maximum minus Minimum

# range() gibt Minimum und Maximum in einem Vektor aus
range(x)

# die Spannweite ergibt sich damit so
rg <- range(x)    # ich nenne den Vektor rg
rg[2] - rg[1]     # ich ziehe vom 2. Eintrag den 1. Eintrag des Vektors ab
10
  1. 2
  2. 12
10

Schiefe#

\( g_m = \frac{\frac1n \sum_{i=1}^n (x_i - \bar x)^3}{ \left(\frac1n \sum_{i=1}^n(x_i-\bar x)^2 \right)^{\frac32} } \)

# Der Befehl für die Schiefe ist nicht standardmäßig in Base R verfügbar 
# Dazu muss man zunächst das Paket "moments" laden
library(moments)

skewness(x)     # Die Schiefe mit dem Befehl aus dem Paket "moments"

# Alternative Berechnung "per Hand":
(sum((x-mean(x))^3)/n)/((sum((x-mean(x))^2)/n)^(3/2))
0.650312662643814
0.650312662643814

Median, Quantile, Quartile und Interquartilsabstand#

# ein paar Beispiele:

quantile(x,0.5)                                 # Median
quantile(x,0.9)                                 # 0.9-Quantil

# man kann auch mehrere Quantile gleichzeitig berechnen:
quantile(x,c(0.2,0.5,0.75))

quantile(x,c(0.25,0.75))                        # die Quartile

as.numeric(quantile(x,0.75)- quantile(x,0.25))  # der IQR 
# der Befehl as.numeric() sorgt dafür dass nur das Ergebnis und 
# nicht mehr die Prozentzahl ausgegeben wird
50%: 5.5
90%: 9.2
20%
4
50%
5.5
75%
8
25%
4.75
75%
8
3.25

Der summary() Befehl#

Auf viele R-Objekte lässt sich der Befehl summary() anwenden. Probieren wir es für unsere Stichprobe aus.

summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   2.00    4.75    5.50    6.10    8.00   12.00 

Wir erhalten also auf einmal viele interessante Werte:

Minimum, \(0.25\)-Quantil, Median, Mittelwert, \(0.75\)-Quantil und das Maximum

Quantile für ordinal messbare Daten#

Wir nutzen die Funktion quantile mit der Option type=1. Zunächst sind natürlich die ordinalen Daten einzugeben. Dabei muss auch die Reihenfolge der Ausprägungen angegeben werden.

# Eingabe der ordinal messbaren Daten.
data <- factor(c("gering", "mittel", "hoch", "gering", "hoch", "mittel", "mittel", "hoch"),
               levels = c("gering", "mittel", "hoch"), ordered = TRUE)

# Ausgabe der sortierten Daten
sort(data)

# 0.25-Quantil nach Typ 1
quantile(data, 0.25, type=1)

# 0.3-Quantil nach Typ 1
quantile(data, 0.3, type=1)
  1. gering
  2. gering
  3. mittel
  4. mittel
  5. mittel
  6. hoch
  7. hoch
  8. hoch
Levels:
  1. 'gering'
  2. 'mittel'
  3. 'hoch'
25%: gering
Levels:
  1. 'gering'
  2. 'mittel'
  3. 'hoch'
30%: mittel
Levels:
  1. 'gering'
  2. 'mittel'
  3. 'hoch'