Hoe u de steekproef- en populatievariantie in r kunt berekenen
Variantie is een manier om te meten hoe goed gegevenswaarden rond het gemiddelde zijn verdeeld.
De formule voor het vinden van de variantie van een populatie is:
σ 2 = Σ (x ik – μ) 2 / N
waarbij μ het populatiegemiddelde is, xi het i -de element van de populatie is, N de populatiegrootte is, en Σ slechts een mooi symbool is dat „som“ betekent.
De formule voor het vinden van de variantie van een steekproef is:
s 2 = Σ (x ik – X ) 2 / (n-1)
waarbij x het steekproefgemiddelde is, x i het i -de steekproefelement is en n de steekproefomvang is.
Voorbeeld: Bereken de steekproef- en populatievariantie in R
Stel dat we de volgende dataset in R hebben:
#define dataset
data <- c(2, 4, 4, 7, 8, 12, 14, 15, 19, 22)
We kunnen de steekproefvariantie berekenen met behulp van de var()- functie in R:
#calculate sample variance
var(data)
[1] 46.01111
En we kunnen de populatievariantie berekenen door eenvoudigweg de steekproefvariantie als volgt te vermenigvuldigen met (n-1)/n:
#determine length of data
n <- length (data)
#calculate population variance
var(data) * (n-1)/n
[1] 41.41
Merk op dat de populatievariantie altijd kleiner zal zijn dan de steekproefvariantie.
In de praktijk berekenen we meestal steekproefvarianties voor gegevenssets, omdat het ongebruikelijk is om gegevens voor een hele populatie te verzamelen.
Voorbeeld: Bereken de variantie van een steekproef van meerdere kolommen
Stel dat we het volgende dataframe in R hebben:
#create data frame
data <- data.frame(a=c(1, 3, 4, 4, 6, 7, 8, 12),
b=c(2, 4, 4, 5, 5, 6, 7, 16),
c=c(6, 6, 7, 8, 8, 9, 9, 12))
#view data frame
data
ABC
1 1 2 6
2 3 4 6
3 4 4 7
4 4 5 8
5 6 5 8
6 7 6 9
7 8 7 9
8 12 16 12
We kunnen de functie sapply() gebruiken om de steekproefvariantie van elke kolom in het dataframe te berekenen:
#find sample variance of each column
sapply(data, var)
ABC
11.696429 18.125000 3.839286
En we kunnen de volgende code gebruiken om de standaarddeviatie van de steekproef van elke kolom te berekenen, wat eenvoudigweg de vierkantswortel is van de steekproefvariantie:
#find sample standard deviation of each column
sapply(data, sd)
ABC
3.420004 4.257347 1.959410
Meer R-tutorials vindt u hier .