Як обчислити зважене стандартне відхилення в r
Зважене стандартне відхилення є корисним способом вимірювання дисперсії значень у наборі даних, коли деякі значення в наборі даних мають вищу вагу, ніж інші.
Формула для обчислення зваженого стандартного відхилення:
золото:
- N: Загальна кількість спостережень
- M: кількість ненульових ваг
- w i : вектор ваги
- x i : вектор значень даних
- x : Середньозважене значення
Найпростіший спосіб обчислити зважене стандартне відхилення в R — це використовувати функцію wt.var() із пакета Hmisc , яка використовує такий синтаксис:
#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)
Наступні приклади показують, як використовувати цю функцію на практиці.
Приклад 1: зважене стандартне відхилення для вектора
Наступний код показує, як обчислити зважене стандартне відхилення для одного вектора в 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
Зважене стандартне відхилення виявляється рівним 8,57 .
Приклад 2: зважене стандартне відхилення для стовпця у кадрі даних
У наступному коді показано, як обчислити зважене стандартне відхилення для стовпця кадру даних у 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
Зважене стандартне відхилення для стовпця балів виявляється рівним 0,673 .
Приклад 3: зважене стандартне відхилення для кількох стовпців у кадрі даних
У наступному коді показано, як використовувати функцію sapply() у 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 and wins sapply(df[c(' wins ', ' points ')], function(x) sqrt(wtd. var (x, wt))) win points 4.9535723 0.6727938
Зважене стандартне відхилення для стовпця виграшів становить 4,954 , а зважене стандартне відхилення для стовпця очок – 0,673 .
Додаткові ресурси
Як обчислити зважене стандартне відхилення в Excel
Як обчислити стандартне відхилення в R
Як розрахувати коефіцієнт варіації R
Як обчислити діапазон у R