Inloggen
Inloggen

Standaarddeviatie in R: complete gids voor beginners

Standaarddeviatie in R: complete gids voor beginners
Hostman Team
Technical writer
R
14.10.2025
Reading time: 6 min

De standaarddeviatie is een statistische maat die aangeeft in welke mate de waarden van een kenmerk gemiddeld afwijken van het rekenkundig gemiddelde. We gebruiken deze om te bepalen of de eenheden in een steekproef of populatie vergelijkbaar zijn met betrekking tot het onderzochte kenmerk, of dat ze aanzienlijk van elkaar verschillen. Als je wilt leren wat standaarddeviatie is of hoe je deze in R kunt berekenen, lees dan verder.

Deze gids biedt een gedetailleerde uitleg over het berekenen van de standaarddeviatie in R, inclusief verschillende methoden en praktische voorbeelden om gebruikers te helpen gegevens efficiënt te analyseren.

De wiskunde achter standaarddeviatie

De standaarddeviatie meet de gemiddelde afwijking van afzonderlijke waarden ten opzichte van het gemiddelde. Het is een intuïtieve maat voor de spreiding van een verdeling. Als we alleen de afwijkingen van het gemiddelde zouden optellen, zou de som altijd nul zijn — een nutteloos resultaat.

De wiskundige formule voor standaarddeviatie is:

=∑(xi​−μ)2N​

Waarbij:

  • Σ de som aangeeft,

  • xix_ixi​ elke waarneming vertegenwoordigt,

  • μ\muμ het gemiddelde van de gegevens is,

  • NNN het totaal aantal waarnemingen is.

De standaarddeviatie wordt vaak afgekort als SD (Standard Deviation). Hoe kleiner de SD, hoe dichter de waarden bij het gemiddelde liggen — wat wijst op een hogere consistentie van de gegevens. Om te beoordelen of de SD “klein” of “groot” is, moet men het bereik van de gebruikte schaal kennen.

Het belang van standaarddeviatie

De standaarddeviatie is bijzonder nuttig bij het vergelijken van de spreiding tussen twee datasets van vergelijkbare grootte en gemiddelde. Alleen het gemiddelde vertelt vaak niet het hele verhaal.

Bijvoorbeeld: Wat zegt het gemiddelde salaris in een bedrijf als we niets weten over de spreiding van de lonen? Verdienen alle werknemers evenveel, of trekt een manager de gemiddelde waarde omhoog? Om de werkelijke situatie te begrijpen, moeten we de standaarddeviatie berekenen.

Een ander voorbeeld is risicobeoordeling bij investeringen. Als één aandeel een gemiddeld jaarlijks rendement van 4% heeft en een ander 5%, betekent dat niet automatisch dat het tweede beter is.

Als het eerste aandeel slechts licht schommelt (enkele procenten) en het tweede tientallen procenten fluctueert, is de eerste investering duidelijk minder risicovol. Om verschillende rendementen en hun risico’s te vergelijken, gebruiken we de standaarddeviatie.

Verschillende manieren om standaarddeviatie te berekenen in R

Voor elke analyse hebben we eerst gegevens nodig. In R kun je ze handmatig invoeren door een vector te definiëren, of importeren uit externe bronnen (bijvoorbeeld Excel of CSV).

data <- c(4, 8, 6, 5, 3, 7)

Je kunt ook datasets importeren met de read.csv()-functie:

# 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)

Steekproef-standaarddeviatie in R

De eenvoudigste manier om de standaarddeviatie van een steekproef te berekenen is met de ingebouwde functie sd().

sd(data)

Output:

[1] 1.870829

Als de steekproef ontbrekende waarden bevat, kun je deze uitsluiten met na.rm = TRUE:

standard_deviation <- sd(data, na.rm = TRUE)

Populatie-standaarddeviatie in R

Om de standaarddeviatie van een populatie te berekenen, voer je de volgende stappen uit:

  1. Bereken het gemiddelde.

  2. Trek dit gemiddelde af van elke waarde.

  3. Kwadrateer de verschillen.

  4. Bereken het gemiddelde van de gekwadrateerde verschillen (variantie).

  5. Trek de wortel van de variantie (standaarddeviatie).

Voorbeeld:

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)

Gegroepeerde standaarddeviatie in R

Stel dat je de cijfers van studenten per vak wilt analyseren. De categorische variabele is “Vak”, en je wilt de standaarddeviatie per categorie berekenen.

Gebruik hiervoor het dplyr-pakket:

install.packages("dplyr")

Laten we, voortbouwend op ons eerdere voorbeeld, een dataset nemen die cijfers van studenten in verschillende vakken bevat:

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)

Resultaat:

# A tibble: 2 × 2
  Subject   Standard_Deviation
  <chr>              <dbl>
1 History           3.511885
2 Math              6.027714       

Kolomgewijze standaarddeviatie

In R zijn er verschillende manieren om de standaarddeviatie per kolom te berekenen:

data_frame <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))
apply(data_frame, 2, sd)

Of met dplyr:

library(dplyr)
data_frame %>%
  summarise(across(everything(), sd))

Gewogen standaarddeviatie

In sommige situaties is een gewogen standaarddeviatie nodig — bijvoorbeeld als groepen van verschillende grootte zijn (zoals teams met 5 of 50 spelers). Zonder gewichten zouden beide groepen even zwaar meetellen, wat misleidend kan zijn.

De formule is als volgt:

Dw=∑wi​(xi​−μw​)2∑wi​​​

Waarbij:

  • 𝑤i ​vertegenwoordigt het gewicht van elk datapunt,
  • 𝑥i ​ duidt elk datapunt aan,
  • μw is het gewogen gemiddelde, berekend als:
μw​=​∑wi​xi∑wi​​

Though R does not have a built-in function for measuring weighted standard deviation, it can be computed manually.

R heeft geen ingebouwde functie voor dit type berekening, maar het kan handmatig worden uitgevoerd:

# 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)

Output:

[1] 3.853245

Conclusie

De standaarddeviatie is eenvoudig te berekenen, ondanks de schijnbaar ingewikkelde formule.Het is een essentieel hulpmiddel in de statistiek, en dankzij R kun je het snel en efficiënt toepassen. Wie zich wil verdiepen in data-analyse of data science, zal deze maat onvermijdelijk moeten leren gebruiken — het is de sleutel tot inzicht in de consistentie en spreiding van gegevens.

R
14.10.2025
Reading time: 6 min

Vergelijkbaar

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support