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