Leer hoe je snel de middelste waarde van je data vindt met de R median()-functie. Ontdek tips voor het omgaan met missende waarden en het groeperen van data per categorie.
De mediaan bepalen is een fundamenteel onderdeel van data-analyse, zeker als je te maken hebt met scheve verdelingen of uitschieters.
In R biedt de functie median() een eenvoudige, ingebouwde manier om een heel belangrijke (niet-parametrische!) maat voor centrale neiging te berekenen. Ik laat je zien hoe het werkt:
Wat doet R median()?
De functie median() bekijkt je numerieke data en geeft (een interpretatie van) de centrale waarde terug.
Hier sorteert R naar (2, 4, 7, 10) en neemt vervolgens het gemiddelde van de twee middelste getallen (4 en 7), wat 5,5 oplevert.
Als je dataset een oneven aantal waarden bevat, pakt hij simpelweg degene in het midden. Bij een even aantal waarden berekent median() het gemiddelde van de twee middelste getallen.
Onder de motorkap doet median() dus het sorteren voor je, wat erg handig is.
Omgaan met NA-waarden met median()
Naarmate je datasets groeien, kom je vaak missende waarden tegen. Deze kunnen je berekeningen in de war schoppen als je niet oplet. Standaard geeft median()NA terug als er missende waarden in je vector staan. (Welke missende waarden dan ook.) Laten we kijken hoe dat uitpakt:
Merk op dat het resultaat NA is. Om dit te omzeilen, voeg je het argument na.rm = TRUE toe. Dit vertelt R om missende waarden te verwijderen voordat de mediaan wordt berekend:
Deze keer krijg je 6 (de mediaan van de overgebleven waarden (3, 6 en 9)). Let goed op die NA's, want ze kunnen je data binnen sluipen en je analyse verstoren als je ze vergeet.
De mediaan per groep vinden in R
Laten we iets nieuws proberen: medianen vergelijken tussen verschillende groepen.
Een veelgestelde vraag: Wat als we het mediane inkomen per regio willen zien? Net als bij simpele vectors maakt R dit eenvoudig, maar nu moeten we eerst onze data groeperen.
Een snelle manier in base R is met 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)Mogelijk gemaakt door
Dit berekent het mediane inkomen voor elke regio.
Werk je liever met het pakket dplyr, dan kun je hetzelfde resultaat bereiken met pipe-vriendelijke syntax:
library(dplyr)
income_data <- data.frame(income = income_values, region = region_labels)
income_data %>%
group_by(region)%>%
summarise(median_income = median(income))Mogelijk gemaakt door
Deze aanpak levert een nette samenvattende tabel op, met het mediane inkomen per regio.
Dergelijke gegroepeerde samenvattingen zijn vooral handig wanneer je centrale tendensen tussen categorieën in je data wilt vergelijken.
De mediaan voor kolommen in een data frame berekenen in R
Soms wil je misschien in één keer de mediaan voor elke kolom in een data frame krijgen—bijvoorbeeld voor een snelle scan van de centrale waarden in je dataset. Hier gebruik ik sapply().
test_scores <- data.frame(math = c(1,2,3), science = c(7,8,9))
sapply(test_scores, median)Mogelijk gemaakt door
Deze opdracht geeft de mediaan van elke kolom terug, zodat je in één oogopslag trends of uitschieters kunt spotten. Deze techniek is vooral handig wanneer je nieuwe data verkent en snel een overzicht wilt.
Dingen om op te letten
Voordat we afronden, lichten we een paar veelvoorkomende valkuilen en best practices uit om soepel te werken met median():
Controleer dat je alleen numerieke data doorgeeft aan median(). Als je een factor- of karaktervector probeert, geeft R een foutmelding.
Vergeet niet na.rm = TRUE te gebruiken als je missende data vermoedt.
Je hoeft je data niet handmatig te sorteren. median() regelt het sorteren intern, dus geef je vector gewoon door zoals hij is.
Conclusie
De functie median() is een uitstekende manier om het echte midden van je data te begrijpen, vooral wanneer je dataset uitschieters bevat die het gemiddelde kunnen vertekenen. De functie median() is bovendien flexibel genoeg om om te gaan met complexiteit zoals missende waarden of gegroepeerde samenvattingen.
Voor de volgende stap heb ik ook een kort artikel geschreven over de R mean()-functie, als je even wilt kijken. En vergeet niet onze cursus Exploratory Data Analysis in R te volgen om echt alle belangrijke, nuttige jobskills op te bouwen.
Auteur
Josef Waples
Ik ben een schrijver en editor op het gebied van data science en heb bijgedragen aan onderzoeksartikelen in wetenschappelijke tijdschriften. Ik ben vooral geïnteresseerd in lineaire algebra, statistiek, R en dergelijke. Ik speel ook best wat schaak!
De mediaan bepalen is een fundamenteel onderdeel van data-analyse, zeker als je te maken hebt met scheve verdelingen of uitschieters.
In R biedt de functie
median()een eenvoudige, ingebouwde manier om een heel belangrijke (niet-parametrische!) maat voor centrale neiging te berekenen. Ik laat je zien hoe het werkt:Wat doet R median()?
De functie
median()bekijkt je numerieke data en geeft (een interpretatie van) de centrale waarde terug.Hier verwijst
numeric_vectornaar een numerieke vector of een soortgelijk object, zoals een kolom binnen een data frame.Een eenvoudig voorbeeld met R median()
Laten we dit in actie zien. Stel dat je een kleine vector met getallen hebt:
R sorteert de getallen automatisch
(2, 3, 5, 7, 8)en geeft vervolgens5terug. Dit is de waarde precies in het midden.Maar wat als je vector een even aantal elementen heeft, zoals in het volgende voorbeeld?
Hier sorteert R naar
(2, 4, 7, 10)en neemt vervolgens het gemiddelde van de twee middelste getallen (4en7), wat5,5oplevert.Als je dataset een oneven aantal waarden bevat, pakt hij simpelweg degene in het midden. Bij een even aantal waarden berekent
median()het gemiddelde van de twee middelste getallen.Onder de motorkap doet
median()dus het sorteren voor je, wat erg handig is.Omgaan met NA-waarden met median()
Naarmate je datasets groeien, kom je vaak missende waarden tegen. Deze kunnen je berekeningen in de war schoppen als je niet oplet. Standaard geeft
median()NAterug als er missende waarden in je vector staan. (Welke missende waarden dan ook.) Laten we kijken hoe dat uitpakt:Merk op dat het resultaat
NAis. Om dit te omzeilen, voeg je het argumentna.rm = TRUEtoe. Dit vertelt R om missende waarden te verwijderen voordat de mediaan wordt berekend:Deze keer krijg je
6(de mediaan van de overgebleven waarden (3,6en9)). Let goed op die NA's, want ze kunnen je data binnen sluipen en je analyse verstoren als je ze vergeet.De mediaan per groep vinden in R
Laten we iets nieuws proberen: medianen vergelijken tussen verschillende groepen.
Een veelgestelde vraag: Wat als we het mediane inkomen per regio willen zien? Net als bij simpele vectors maakt R dit eenvoudig, maar nu moeten we eerst onze data groeperen.
Een snelle manier in base R is met
tapply():Dit berekent het mediane inkomen voor elke regio.
Werk je liever met het pakket
dplyr, dan kun je hetzelfde resultaat bereiken met pipe-vriendelijke syntax:Deze aanpak levert een nette samenvattende tabel op, met het mediane inkomen per regio.
Dergelijke gegroepeerde samenvattingen zijn vooral handig wanneer je centrale tendensen tussen categorieën in je data wilt vergelijken.
De mediaan voor kolommen in een data frame berekenen in R
Soms wil je misschien in één keer de mediaan voor elke kolom in een data frame krijgen—bijvoorbeeld voor een snelle scan van de centrale waarden in je dataset. Hier gebruik ik
sapply().Deze opdracht geeft de mediaan van elke kolom terug, zodat je in één oogopslag trends of uitschieters kunt spotten. Deze techniek is vooral handig wanneer je nieuwe data verkent en snel een overzicht wilt.
Dingen om op te letten
Voordat we afronden, lichten we een paar veelvoorkomende valkuilen en best practices uit om soepel te werken met
median():Controleer dat je alleen numerieke data doorgeeft aan
median(). Als je een factor- of karaktervector probeert, geeft R een foutmelding.Vergeet niet
na.rm = TRUEte gebruiken als je missende data vermoedt.Je hoeft je data niet handmatig te sorteren.
median()regelt het sorteren intern, dus geef je vector gewoon door zoals hij is.Conclusie
De functie
median()is een uitstekende manier om het echte midden van je data te begrijpen, vooral wanneer je dataset uitschieters bevat die het gemiddelde kunnen vertekenen. De functiemedian()is bovendien flexibel genoeg om om te gaan met complexiteit zoals missende waarden of gegroepeerde samenvattingen.Voor de volgende stap heb ik ook een kort artikel geschreven over de R mean()-functie, als je even wilt kijken. En vergeet niet onze cursus Exploratory Data Analysis in R te volgen om echt alle belangrijke, nuttige jobskills op te bouwen.