R cinsinden ağırlıklı standart sapma nasıl hesaplanır?
Ağırlıklı standart sapma, veri kümesindeki bazı değerlerin diğerlerinden daha yüksek ağırlığa sahip olduğu durumlarda, bir veri kümesindeki değerlerin dağılımını ölçmenin yararlı bir yoludur.
Ağırlıklı standart sapmayı hesaplama formülü şöyledir:
Altın:
- N: Toplam gözlem sayısı
- M: Sıfır olmayan ağırlıkların sayısı
- w i : Bir ağırlık vektörü
- x i : Veri değerlerinin bir vektörü
- x : Ağırlıklı ortalama
R’de ağırlıklı standart sapmayı hesaplamanın en kolay yolu, aşağıdaki sözdizimini kullanan Hmisc paketindeki wt.var() işlevini kullanmaktır:
#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)
Aşağıdaki örnekler bu fonksiyonun pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Bir vektör için ağırlıklı standart sapma
Aşağıdaki kod, R’deki tek bir vektör için ağırlıklı standart sapmanın nasıl hesaplanacağını gösterir:
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
Ağırlıklı standart sapma 8,57 olarak çıkıyor.
Örnek 2: Veri çerçevesindeki bir sütun için ağırlıklı standart sapma
Aşağıdaki kod, R’deki bir veri çerçevesinin bir sütunu için ağırlıklı standart sapmanın nasıl hesaplanacağını gösterir:
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
Puan sütununun ağırlıklı standart sapması 0,673 olarak çıkıyor.
Örnek 3: Bir veri çerçevesindeki birden çok sütun için ağırlıklı standart sapma
Aşağıdaki kod, bir veri çerçevesindeki birden çok sütun için ağırlıklı standart sapmayı hesaplamak üzere R’deki sapply() işlevinin nasıl kullanılacağını gösterir:
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
Galibiyetler sütununun ağırlıklı standart sapması 4,954 ve puanlar sütununun ağırlıklı standart sapması 0,673’tür .
Ek kaynaklar
Excel’de Ağırlıklı Standart Sapma Nasıl Hesaplanır
R’de standart sapma nasıl hesaplanır
R’nin varyasyon katsayısı nasıl hesaplanır?
R’de aralık nasıl hesaplanır