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

Aggiungi un commento

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