Bereken het gemiddelde van numerieke, logische en gewogen data met R’s ingebouwde mean-functies. Begrijp hoe je met ontbrekende waarden omgaat en de functie toepast op vectoren en data frames.
Als je numerieke data in R samenvat, is het berekenen van het gemiddelde vaak de eerste stap. Het is in elk geval vaak het eerste wat ik doe.
Nu hoeft “gemiddelde” niet per se naar het rekenkundig gemiddelde te verwijzen, maar in dit artikel ga ik daar wel van uit, omdat ik je ga laten zien hoe je werkt met de functie mean() in R, R’s standaardtool voor dit doel.
Wat doet mean() in R?
De functie mean() berekent het rekenkundig gemiddelde van numerieke data. Met andere woorden: hij telt alle waarden in je vector of kolom op en deelt door het totale aantal aanwezige waarden. Omdat mean() deel uitmaakt van base R, hoef je geen extra packages te laden. Dus hij is klaar voor gebruik zodra je R opent.
De syntax van de functie mean()
We weten wat mean() doet, maar laten we naar de basis-syntax kijken zodat je ermee aan de slag kunt:
na.rm: Logisch. Als TRUE, negeert mean()NA-waarden.
Verderop zul je zien dat omgaan met ontbrekende data en werken met verschillende datastructuren wat nuances met zich meebrengt, dus let daarop.
Het gemiddelde van een numerieke vector in R berekenen
Waarschijnlijk het meest basale is het gemiddelde van een vector berekenen:
daily_temperatures <- c(72,68,75,70,69)
mean(daily_temperatures)Mogelijk gemaakt door
Deze regel geeft het gemiddelde van 72, 68, 75, 70 en 69 terug, namelijk 70,8.
Omgaan met ontbrekende waarden met na.rm in R
Echte datasets hebben ontbrekende waarden. Als je data ontbrekende items bevat, zal mean() standaard NA retourneren. Dat kan je verrassen als je het niet verwacht, daarom staan we even stil bij het argument na.rm.
Nu berekent mean() het gemiddelde met alleen de beschikbare getallen.
mean() gebruiken met data frames in R
Laten we het gebruik uitbreiden naar data frames, een typische structuur voor datasets in R. Als je het gemiddelde van een specifieke kolom wilt, verwijs je er simpelweg naar met de operator $:
student_scores <- data.frame(
student_name = c("Amir","Bianca","Carlos"),
math_score = c(92,85,88))
mean(student_scores$math_score)Mogelijk gemaakt door
Dit berekent de gemiddelde score voor alle studenten in je data frame. Je kunt deze aanpak toepassen op elke numerieke kolom (maar het moet wel een numerieke kolom zijn).
Gemiddelde van logische waarden in R
Tot nu toe hebben we ons gericht op numerieke data, maar je zult misschien verrast zijn dat mean() ook werkt met logische vectoren. Dit is een klein maar belangrijk detail dat ik tot nu toe heb gemist.
Je kunt mean() gebruiken met logische waarden omdat in R TRUE wordt behandeld als 1 en FALSE als 0, dus het gemiddelde van een logische vector geeft het aandeel TRUE-waarden terug. Dit kan handig zijn als je binaire uitkomsten moet samenvatten.
quiz_passed_flags <- c(TRUE,FALSE,TRUE,TRUE)
mean(quiz_passed_flags)Mogelijk gemaakt door
Hier is het resultaat 0,75, omdat 3 van de 4 waarden TRUE zijn.
Het gewogen gemiddelde in R vinden
Soms heb je een gewogen gemiddelde nodig, wanneer je vindt dat verschillende waarden ongelijk bijdragen aan het resultaat. Dan gebruik je weighted.mean():
course_grades <- c(88,92,75)
assignment_weights <- c(0.3,0.4,0.3)
weighted.mean(course_grades, assignment_weights)Mogelijk gemaakt door
Met weighted.mean() kun je rekening houden met verschillende belangrijkheid of frequentie van je waarden. mean() doet dit niet uit zichzelf.
Dingen om op te letten
Ik heb de meeste hiervan al genoemd, maar laat me mogelijke issues of aandachtspunten even op één plek noteren:
Niet-numerieke data: Als je vector of kolom niet numeriek of logisch is, geeft mean() een foutmelding.
NA-afhandeling: Vergeten na.rm = TRUE te gebruiken wanneer je ontbrekende data hebt, zal je elke keer parten spelen.
Lege vectoren: mean(numeric(0)) retourneert NA met een waarschuwing.
Vergelijkbare functies in R
R biedt verschillende gerelateerde functies die je helpen je data vanuit verschillende hoeken te verkennen. Al deze functies zitten ook in base R, wat betekent dat je ze kunt gebruiken zonder libraries te importeren.
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!
Als je numerieke data in R samenvat, is het berekenen van het gemiddelde vaak de eerste stap. Het is in elk geval vaak het eerste wat ik doe.
Nu hoeft “gemiddelde” niet per se naar het rekenkundig gemiddelde te verwijzen, maar in dit artikel ga ik daar wel van uit, omdat ik je ga laten zien hoe je werkt met de functie
mean()in R, R’s standaardtool voor dit doel.Wat doet mean() in R?
De functie
mean()berekent het rekenkundig gemiddelde van numerieke data. Met andere woorden: hij telt alle waarden in je vector of kolom op en deelt door het totale aantal aanwezige waarden. Omdatmean()deel uitmaakt van base R, hoef je geen extra packages te laden. Dus hij is klaar voor gebruik zodra je R opent.De syntax van de functie mean()
We weten wat
mean()doet, maar laten we naar de basis-syntax kijken zodat je ermee aan de slag kunt:x: Een numerieke vector of object.na.rm: Logisch. AlsTRUE, negeertmean()NA-waarden.Verderop zul je zien dat omgaan met ontbrekende data en werken met verschillende datastructuren wat nuances met zich meebrengt, dus let daarop.
Het gemiddelde van een numerieke vector in R berekenen
Waarschijnlijk het meest basale is het gemiddelde van een vector berekenen:
Deze regel geeft het gemiddelde van 72, 68, 75, 70 en 69 terug, namelijk 70,8.
Omgaan met ontbrekende waarden met na.rm in R
Echte datasets hebben ontbrekende waarden. Als je data ontbrekende items bevat, zal
mean()standaardNAretourneren. Dat kan je verrassen als je het niet verwacht, daarom staan we even stil bij het argumentna.rm.Dit uitvoeren zal
NAteruggeven. Om R te laten weten dat het ontbrekende waarden moet negeren, zet je gewoonna.rm = TRUE:Nu berekent
mean()het gemiddelde met alleen de beschikbare getallen.mean() gebruiken met data frames in R
Laten we het gebruik uitbreiden naar data frames, een typische structuur voor datasets in R. Als je het gemiddelde van een specifieke kolom wilt, verwijs je er simpelweg naar met de operator
$:Dit berekent de gemiddelde score voor alle studenten in je data frame. Je kunt deze aanpak toepassen op elke numerieke kolom (maar het moet wel een numerieke kolom zijn).
Gemiddelde van logische waarden in R
Tot nu toe hebben we ons gericht op numerieke data, maar je zult misschien verrast zijn dat
mean()ook werkt met logische vectoren. Dit is een klein maar belangrijk detail dat ik tot nu toe heb gemist.Je kunt
mean()gebruiken met logische waarden omdat in RTRUEwordt behandeld als1enFALSEals0, dus het gemiddelde van een logische vector geeft het aandeelTRUE-waarden terug. Dit kan handig zijn als je binaire uitkomsten moet samenvatten.Hier is het resultaat 0,75, omdat 3 van de 4 waarden
TRUEzijn.Het gewogen gemiddelde in R vinden
Soms heb je een gewogen gemiddelde nodig, wanneer je vindt dat verschillende waarden ongelijk bijdragen aan het resultaat. Dan gebruik je
weighted.mean():Met
weighted.mean()kun je rekening houden met verschillende belangrijkheid of frequentie van je waarden.mean()doet dit niet uit zichzelf.Dingen om op te letten
Ik heb de meeste hiervan al genoemd, maar laat me mogelijke issues of aandachtspunten even op één plek noteren:
Niet-numerieke data: Als je vector of kolom niet numeriek of logisch is, geeft
mean()een foutmelding.NA-afhandeling: Vergeten
na.rm = TRUEte gebruiken wanneer je ontbrekende data hebt, zal je elke keer parten spelen.Lege vectoren:
mean(numeric(0))retourneertNAmet een waarschuwing.Vergelijkbare functies in R
R biedt verschillende gerelateerde functies die je helpen je data vanuit verschillende hoeken te verkennen. Al deze functies zitten ook in base R, wat betekent dat je ze kunt gebruiken zonder libraries te importeren.
median(): Voor de mediaansd(): Voor de standaarddeviatiesum(): Voor de som van waardenWil je meer leren over het belang van verschillende centrummaten, bekijk dan onze zeer complete tutorial, Mean vs. Median: Knowing the Difference.
Conclusie
Bij de meeste basistaken in data-analyse is
mean()je eerste halte om getallen samen te vatten.Blijf leren met onze cursussen, zoals Introduction to R en Exploratory Data Analysis in R.