كيفية حساب الانحراف المعياري المرجح في r
يعد الانحراف المعياري الموزون طريقة مفيدة لقياس تشتت القيم في مجموعة البيانات عندما يكون لبعض القيم في مجموعة البيانات أوزان أعلى من غيرها.
صيغة حساب الانحراف المعياري المرجح هي:
ذهب:
- N: العدد الإجمالي للملاحظات
- م: عدد الأوزان غير الصفرية
- w i : ناقل الوزن
- xi : متجه لقيم البيانات
- س : المتوسط المرجح
أسهل طريقة لحساب الانحراف المعياري المرجح في 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 .
مصادر إضافية
كيفية حساب الانحراف المعياري المرجح في إكسيل
كيفية حساب الانحراف المعياري في R
كيفية حساب معامل الاختلاف لـ R
كيفية حساب النطاق في R