Come calcolare la deviazione standard ponderata in r
La deviazione standard ponderata è un modo utile per misurare la dispersione dei valori in un set di dati quando alcuni valori nel set di dati hanno pesi più elevati di altri.
La formula per calcolare la deviazione standard ponderata è:
Oro:
- N: il numero totale di osservazioni
- M: il numero di pesi diversi da zero
- w i : un vettore di peso
- x i : un vettore di valori di dati
- x : la media ponderata
Il modo più semplice per calcolare una deviazione standard ponderata in R è utilizzare la funzione wt.var() del pacchetto Hmisc , che utilizza la seguente sintassi:
#define data values x <- c(4, 7, 12, 13, ...) #define weights wt <- c(.5, 1, 2, 2, ...) #calculate weighted variance weighted_var <- wtd. var (x, wt) #calculate weighted standard deviation weighted_sd <- sqrt(weighted_var)
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: deviazione standard ponderata per un vettore
Il codice seguente mostra come calcolare la deviazione standard ponderata per un singolo vettore in R:
library (Hmisc) #define data values x <- c(14, 19, 22, 25, 29, 31, 31, 38, 40, 41) #define weights wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2, 3, 2) #calculate weighted variance weighted_var <- wtd. var (x, wt) #calculate weighted standard deviation sqrt(weighted_var) [1] 8.570051
La deviazione standard ponderata risulta essere 8,57 .
Esempio 2: deviazione standard ponderata per una colonna nel frame di dati
Il codice seguente mostra come calcolare la deviazione standard ponderata per una colonna di un frame di dati in R:
library (Hmisc) #define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #define weights wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2) #calculate weighted standard deviation of points sqrt(wtd. var (df$points, wt)) [1] 0.6727938
La deviazione standard ponderata per la colonna dei punti risulta essere 0,673 .
Esempio 3: deviazione standard ponderata per più colonne in un frame di dati
Il codice seguente mostra come utilizzare la funzione sapply() in R per calcolare la deviazione standard ponderata per più colonne in un frame di dati:
library (Hmisc) #define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #define weights wt <- c(1, 1, 1.5, 2, 2, 1.5, 1, 2) #calculate weighted standard deviation of points and wins sapply(df[c(' wins ', ' points ')], function(x) sqrt(wtd. var (x, wt))) win points 4.9535723 0.6727938
La deviazione standard ponderata per la colonna delle vittorie è 4,954 e la deviazione standard ponderata per la colonna dei punti è 0,673 .
Risorse addizionali
Come calcolare la deviazione standard ponderata in Excel
Come calcolare la deviazione standard in R
Come calcolare il coefficiente di variazione di R
Come calcolare l’intervallo in R