Jak obliczyć ważone odchylenie standardowe w r


Ważone odchylenie standardowe jest użyteczną metodą pomiaru rozproszenia wartości w zbiorze danych, gdy niektóre wartości w zbiorze danych mają wyższe wagi niż inne.

Wzór na obliczenie ważonego odchylenia standardowego jest następujący:

Złoto:

  • N: Całkowita liczba obserwacji
  • M: Liczba niezerowych wag
  • w i : wektor wagi
  • x i : wektor wartości danych
  • x : Średnia ważona

Najłatwiejszym sposobem obliczenia ważonego odchylenia standardowego w R jest użycie funkcji wt.var() z pakietu Hmisc , która wykorzystuje następującą składnię:

 #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)

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.

Przykład 1: Ważone odchylenie standardowe dla wektora

Poniższy kod pokazuje, jak obliczyć ważone odchylenie standardowe dla pojedynczego wektora w 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

Ważone odchylenie standardowe wynosi 8,57 .

Przykład 2: Ważone odchylenie standardowe dla kolumny w ramce danych

Poniższy kod pokazuje, jak obliczyć ważone odchylenie standardowe dla kolumny ramki danych w 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

Ważone odchylenie standardowe dla kolumny punktów wynosi 0,673 .

Przykład 3: Ważone odchylenie standardowe dla wielu kolumn w ramce danych

Poniższy kod pokazuje, jak używać funkcji sapply() w języku R do obliczania ważonego odchylenia standardowego dla wielu kolumn w ramce danych:

 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 

Ważone odchylenie standardowe dla kolumny zwycięstw wynosi 4,954 , a ważone odchylenie standardowe dla kolumny punktów wynosi 0,673 .

Dodatkowe zasoby

Jak obliczyć ważone odchylenie standardowe w programie Excel
Jak obliczyć odchylenie standardowe w R
Jak obliczyć współczynnik zmienności R
Jak obliczyć zasięg w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *