Como calcular o desvio padrão ponderado em r


O desvio padrão ponderado é uma forma útil de medir a dispersão de valores em um conjunto de dados quando alguns valores no conjunto de dados têm pesos mais altos do que outros.

A fórmula para calcular um desvio padrão ponderado é:

Ouro:

  • N: O número total de observações
  • M: O número de pesos diferentes de zero
  • w i : Um vetor de peso
  • x i : Um vetor de valores de dados
  • x : A média ponderada

A maneira mais fácil de calcular um desvio padrão ponderado em R é usar a função wt.var() do pacote Hmisc , que usa a seguinte sintaxe:

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

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: Desvio padrão ponderado para um vetor

O código a seguir mostra como calcular o desvio padrão ponderado para um único vetor em 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

O desvio padrão ponderado é 8,57 .

Exemplo 2: Desvio padrão ponderado para uma coluna no quadro de dados

O código a seguir mostra como calcular o desvio padrão ponderado para uma coluna de um quadro de dados em 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

O desvio padrão ponderado para a coluna de pontos é 0,673 .

Exemplo 3: Desvio padrão ponderado para múltiplas colunas em um quadro de dados

O código a seguir mostra como usar a função sapply() em R para calcular o desvio padrão ponderado para múltiplas colunas em um quadro de dados:

 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 

O desvio padrão ponderado para a coluna de vitórias é 4,954 e o desvio padrão ponderado para a coluna de pontos é 0,673 .

Recursos adicionais

Como calcular o desvio padrão ponderado no Excel
Como calcular o desvio padrão em R
Como calcular o coeficiente de variação de R
Como calcular o intervalo em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *