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 ix ) 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 .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *