Die Standardabweichung ist ein statistisches Maß, das zeigt, in welchem Ausmaß die Werte eines untersuchten Merkmals im Durchschnitt von ihrem Mittelwert abweichen. Wir verwenden sie, um zu bestimmen, ob die Einheiten in unserer Stichprobe oder Grundgesamtheit in Bezug auf das untersuchte Merkmal ähnlich sind oder sich deutlich voneinander unterscheiden. Wenn du lernen möchtest, wie man die Standardabweichung in R berechnet oder einfach wissen willst, was die Standardabweichung ist, lies weiter.
Diese Anleitung bietet eine detaillierte Erklärung der Berechnung der Standardabweichung in R. Sie deckt verschiedene Methoden und praktische Beispiele ab, um Benutzer:innen bei der effizienten Datenanalyse zu unterstützen.
Die Standardabweichung misst die durchschnittliche Streuung einzelner Werte eines Merkmals um den arithmetischen Mittelwert. Sie hat eine intuitive Bedeutung: Sie zeigt die Variabilität einer Verteilung. Würde man nur die Abstände vom Mittelwert aufsummieren, ergäbe die Summe immer 0 – ein nutzloses Ergebnis.
Die mathematische Formel lautet:
=∑(xi−μ)2N
Dabei steht:
Σ für die Summe,
xix_ixi für jede Beobachtung,
μ\muμ für den Mittelwert der Daten,
NNN für die Gesamtzahl der Beobachtungen.
Die Standardabweichung wird oft mit SD abgekürzt. Je kleiner sie ist, desto näher liegen die Werte am Durchschnitt – das zeigt eine konsistente Datengrundlage. Ob eine Standardabweichung „klein“ oder „groß“ ist, hängt vom Wertebereich der Skala ab.
Die Standardabweichung ist besonders nützlich, wenn man die Variabilität zweier Datensätze mit ähnlicher Größe und gleichem Durchschnitt vergleichen möchte. Nur der Mittelwert allein reicht für tiefergehende Analysen oft nicht aus.
Beispiel: Was sagt uns der durchschnittliche Lohn in einem Unternehmen, wenn wir nicht wissen, wie stark die Gehälter streuen? Bekommen alle dasselbe? Oder treibt ein Manager den Durchschnitt künstlich nach oben? Um die Wahrheit herauszufinden, müssen wir die Standardabweichung berechnen.
Ein weiteres Beispiel ist die Risikobewertung bei Investitionen. Wenn eine Aktie im Durchschnitt 4 % Gewinn pro Jahr erzielt und eine andere 5 %, bedeutet das nicht automatisch, dass die zweite besser ist.
Entscheidend ist die Schwankungsbreite: Wenn die erste Aktie nur geringfügige (z. B. 2–3 %) Schwankungen zeigt, die zweite aber um 20–30 % schwankt, ist die erste wesentlich weniger riskant. Um solche Unterschiede zu messen, verwenden wir die Standardabweichung.
Um eine Analyse durchzuführen, brauchen wir zunächst Daten. In R kann man sie manuell als Vektor eingeben oder aus externen Quellen importieren (z. B. Excel oder CSV).
data <- c(4, 8, 6, 5, 3, 7)
Alternativ kann man Datensätze mit der Funktion read.csv() importieren:
# Read a CSV file into a data frame
data <-read.csv("datafile.csv")
# Install the 'readxl' package
install.packages("readxl")
# Load the library
library(readxl)
# Read an Excel file into a data frame
data_excel <- read_excel("datafile.xlsx", sheet = 1)
Die einfachste Methode ist die integrierte Funktion sd(), die die Standardabweichung einer Stichprobe berechnet.
sd(data)
Ausgabe:
[1] 1.870829
Wenn die Daten fehlende Werte enthalten, kann man diese ausschließen, indem man na.rm=TRUE verwendet:
standard_deviation <- sd(data, na.rm = TRUE)
Zur Berechnung der Populationsstandardabweichung gehen wir manuell vor:
Mittelwert berechnen
Von jedem Wert den Mittelwert abziehen
Differenzen quadrieren
Mittelwert der quadrierten Differenzen bilden (Varianz)
Quadratwurzel ziehen → Standardabweichung
Beispiel:
mean_data <- mean(data)
squared_differences <- (data - mean_data)^2
mean_squared_diff <- mean(squared_differences)
standard_deviation_manual <- sqrt(mean_squared_diff)
print(standard_deviation_manual)
Angenommen, wir analysieren Schülernoten in verschiedenen Fächern. Die kategoriale Variable ist „Fach“, und wir möchten die Standardabweichung je Fach berechnen.
Mit dem dplyr-Paket lässt sich das einfach realisieren:
install.packages("dplyr")
Nehmen wir, um unserem früheren Beispiel zu folgen, einen Datensatz, der die Noten von Schülern aus verschiedenen Fächern enthält:
library(dplyr)
# Example data frame with class and grades
data <- data.frame(
Subject = c('Math', 'Math', 'Math', 'History', 'History', 'History'),
grade = c(85, 90, 78, 88, 92, 85)
)
# Calculate standard deviation for each class
grouped_sd <- data %>%
group_by(Subject) %>%
summarise(Standard_Deviation = sd(grade))
print(grouped_sd)
Ausgabe:
# A tibble: 2 × 2
Subject Standard_Deviation
<chr> <dbl>
1 History 3.511885
2 Math 6.027714
Um die Standardabweichung pro Spalte zu berechnen, gibt es mehrere Möglichkeiten:
data_frame <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))
apply(data_frame, 2, sd)
Oder mit dplyr:
library(dplyr)
data_frame %>%
summarise(across(everything(), sd))
In manchen Fällen ist eine gewichtete Standardabweichung sinnvoll – zum Beispiel, wenn Gruppen unterschiedlich groß sind (etwa Teams mit 5 vs. 50 Spielern). Ohne Gewichtung würden kleine Teams die Statistik genauso stark beeinflussen wie große, was irreführend wäre.
Formel:
Dw=∑wi(xi−μw)2∑wi
Mit:
μw=∑wixi∑wi
# Example data with grades and weights
grades <- c(85, 90, 78, 88, 92, 85)
weights <- c(0.2, 0.3, 0.1, 0.15, 0.1, 0.15)
# Calculate the weighted mean
weighted_mean <- sum(grades * weights) / sum(weights)
# Calculate the squared differences from the weighted mean
squared_differences <- (grades - weighted_mean)^2
# Calculate the weighted variance
weighted_variance <- sum(weights * squared_differences) / sum(weights)
# Calculate the weighted standard deviation
weighted_sd <- sqrt(weighted_variance)
print(weighted_sd)
Ausgabe:
[1] 3.853245
Die Standardabweichung ist leicht zu berechnen – trotz der scheinbar komplizierten Formel.Sie ist ein zentrales Werkzeug der Statistik und in R besonders einfach anzuwenden. Wer in Datenanalyse oder Data Science einsteigen möchte, kommt an ihr nicht vorbei: Lerne sie, nutze sie – und du wirst deine Daten viel besser verstehen.