Direkt zum Inhalt

R median() Funktion: Finde den mittleren Wert

Lerne, wie du mit der R-Funktion Median() schnell den mittleren Wert deiner Daten findest. Entdecke Tipps für den Umgang mit fehlenden Werten und die Gruppierung von Daten nach Kategorien.
Aktualisierte 20. Juni 2025  · 4 Min. Lesezeit

Die Ermittlung des Medians ist ein grundlegender Bestandteil der Datenanalyse, vor allem wenn du es mit schiefen Verteilungen oder Ausreißern zu tun hast. 

In R bietet die Funktion median() eine einfache, integrierte Möglichkeit, ein sehr wichtiges (nichtparametrisches!) Maß für die zentrale Tendenz zu berechnen. Ich zeige dir, wo es lang geht:

Was macht R median()?

Die Funktion median() untersucht deine numerischen Daten und gibt den zentralen Wert (eine Interpretation davon) zurück.

median(numeric_vector)

Hier bezieht sich numeric_vector auf einen numerischen Vektor oder ein ähnliches Objekt, wie z.B. eine Spalte in einem Datenrahmen.

Ein einfaches Beispiel mit R median()

Lass uns das in Aktion sehen. Angenommen, du hast einen kleinen Zahlenvektor:

sales_numbers <- c(3, 5, 8, 2, 7)

median(sales_numbers)

R sortiert automatisch die Zahlen (2, 3, 5, 7, 8) und gibt dann 5 zurück. Das ist der Wert, der genau in der Mitte sitzt.

Was aber, wenn dein Vektor eine gerade Anzahl von Elementen hat, wie im nächsten Beispiel?

quarterly_sales <- c(10, 4, 7, 2)

median(quarterly_sales)

Hier sortiert R nach (2, 4, 7, 10) und mittelt dann die beiden mittleren Zahlen (4 und 7), was 5.5 ergibt.

Wenn dein Datensatz eine ungerade Anzahl von Werten enthält, wird einfach der Wert in der Mitte ausgewählt. Bei einer geraden Anzahl von Werten berechnet median() den Durchschnitt der beiden mittleren Zahlen.

Unter der Haube erledigt median() also die Sortierung für dich, was sehr praktisch ist.

Behandlung von NA-Werten mit median()

Wenn deine Datensätze wachsen, kann es vorkommen, dass Werte fehlen. Diese können deine Berechnungen durcheinander bringen, wenn du nicht aufpasst. Standardmäßig gibt median() NA zurück, wenn es in deinem Vektor fehlende Werte gibt. (Fehlende Werte überhaupt.) Mal sehen, wie sich das entwickelt:

monthly_sales <- c(6, 3, NA, 9)

median(monthly_sales)

Beachte, dass das Ergebnis NA ist. Um dies zu umgehen, füge das Argument na.rm = TRUE hinzu. Damit wird R angewiesen, fehlende Werte zu entfernen, bevor der Median berechnet wird:

median(monthly_sales, na.rm = TRUE)

Dieses Mal erhältst du 6 (den Mittelwert der übrigen Werte (3, 6 und 9)). Achte auf diese NAs, denn sie können sich in deine Daten schleichen und deine Analyse durcheinander bringen, wenn du sie vergisst.

Ermittlung des Medians nach Gruppe in R

Lass uns etwas Neues ausprobieren: den Vergleich von Medianen zwischen verschiedenen Gruppen.

Eine häufige Frage: Was ist, wenn wir das Medianeinkommen nach Region sehen wollen? Genau wie bei den einfachen Vektoren ist das mit R ganz einfach, aber jetzt müssen wir unsere Daten erst einmal gruppieren.

Ein schneller Weg in Base R ist mit tapply():

income_values <- c(40000, 50000, 45000, 35000, 60000, 30000)
region_labels <- c("East", "West", "West", "East", "East", "West")

tapply(income_values, region_labels, median)

So wird das Medianeinkommen für jede Region berechnet.

Wenn du es vorziehst, mit dem Paket dplyr zu arbeiten, kannst du das gleiche Ergebnis mit einer pipe-freundlichen Syntax erreichen:

library(dplyr)

income_data <- data.frame(income = income_values, region = region_labels)

income_data %>%
   group_by(region) %>%
   summarise(median_income = median(income))

Auf diese Weise entsteht eine übersichtliche Tabelle, in der das Medianeinkommen für jede Region aufgeführt ist.

Solche gruppierten Zusammenfassungen sind besonders nützlich, wenn du zentrale Tendenzen in den verschiedenen Kategorien deiner Daten vergleichen willst.

Berechnung des Medians für Datenrahmenspalten in R

Manchmal möchtest du vielleicht den Median für jede Spalte in einem Datenrahmen auf einmal abrufen - vielleicht für einen schnellen Überblick über die zentralen Werte deines Datensatzes. Hier werde ich sapply() verwenden.

test_scores <- data.frame(math = c(1, 2, 3), science = c(7, 8, 9))

sapply(test_scores, median)

Dieser Befehl liefert den Median jeder Spalte, sodass du Trends oder Ausreißer auf einen Blick erkennen kannst. Diese Technik ist besonders praktisch, wenn du neue Daten erkundest und einen schnellen Überblick haben willst.

Dinge, auf die du achten solltest

Bevor wir zum Schluss kommen, wollen wir noch ein paar häufige Fallstricke und Best Practices aufzeigen, um einen reibungslosen Ablauf mit median() zu gewährleisten:

  • Stelle sicher, dass du nur numerische Daten an median() übergibst. Wenn du es mit einem Faktor- oder Zeichenvektor versuchst, wird R einen Fehler ausgeben.

  • Denke daran, na.rm = TRUE zu verwenden, wenn du fehlende Daten vermutest.

  • Du musst deine Daten nicht manuell sortieren. median() kümmert sich intern um die Sortierung, also übergib deinen Vektor einfach so, wie er ist.

Fazit

Die Funktion median() ist eine gute Möglichkeit, den wahren Mittelpunkt deiner Daten zu verstehen, besonders wenn dein Datensatz Ausreißer enthält, die den Mittelwert verzerren können. Die Funktion median() ist außerdem flexibel genug, um komplexe Sachverhalte wie fehlende Werte oder gruppierte Zusammenfassungen zu behandeln.

Für die nächsten Schritte habe ich auch einen kurzen Artikel über die R mean()-Funktion geschrieben, wenn du einen Blick darauf werfen willst. Und vergiss nicht, unseren Kurs "Explorative Datenanalyse in R" zu besuchen, um wirklich alle wichtigen nützlichen Fähigkeiten für den Beruf zu erwerben.


Josef Waples's photo
Author
Josef Waples
Themen

R lernen mit DataCamp

Kurs

Introduction to R

4 Std.
2.9M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Die 50 besten AWS-Interview-Fragen und Antworten für 2025

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen, zusammen mit Fragen, die auf realen Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen