Come calcolare la varianza del campione e della popolazione in r
La varianza è un modo per misurare quanto bene i valori dei dati sono distribuiti attorno alla media.
La formula per trovare la varianza di una popolazione è:
σ 2 = Σ (x i – μ) 2 / N
dove μ è la media della popolazione, x i è l’i- esimo elemento della popolazione, N è la dimensione della popolazione e Σ è solo un simbolo di fantasia che significa “somma”.
La formula per trovare la varianza di un campione è:
s2 = Σ (x i – x ) 2 / (n-1)
dove x è la media campionaria, x i è l’ iesimo elemento del campione e n è la dimensione del campione.
Esempio: calcolare la varianza del campione e della popolazione in R
Supponiamo di avere il seguente set di dati in R:
#define dataset
data <- c(2, 4, 4, 7, 8, 12, 14, 15, 19, 22)
Possiamo calcolare la varianza del campione utilizzando la funzione var() in R:
#calculate sample variance
var(data)
[1] 46.01111
E possiamo calcolare la varianza della popolazione semplicemente moltiplicando la varianza campionaria per (n-1)/n come segue:
#determine length of data
n <- length (data)
#calculate population variance
var(data) * (n-1)/n
[1] 41.41
Si noti che la varianza della popolazione sarà sempre inferiore alla varianza del campione.
In pratica, di solito calcoliamo le varianze campionarie per insiemi di dati, perché è insolito raccogliere dati per un’intera popolazione.
Esempio: calcolare la varianza di un campione di più colonne
Supponiamo di avere il seguente frame di dati in R:
#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
Possiamo usare la funzione sapply() per calcolare la varianza campionaria di ciascuna colonna nel data frame:
#find sample variance of each column
sapply(data, var)
ABC
11.696429 18.125000 3.839286
E possiamo usare il codice seguente per calcolare la deviazione standard campionaria di ciascuna colonna, che è semplicemente la radice quadrata della varianza campionaria:
#find sample standard deviation of each column
sapply(data, sd)
ABC
3.420004 4.257347 1.959410
Puoi trovare altri tutorial su R qui .