Come calcolare una media ponderata in r


Per calcolare una media ponderata in R, puoi utilizzare la funzione incorporata Weighted.mean() , che utilizza la seguente sintassi:

media.ponderata(x,w)

Oro:

  • x: un vettore di valori di dati grezzi
  • w: Un vettore di peso

Questo tutorial mostra diversi esempi di utilizzo pratico di questa funzione.

Esempio 1: media ponderata di un vettore

Il codice seguente mostra come calcolare la media ponderata per un dato vettore di dati:

 #define vector of data values
data <- c(3, 5, 6, 7, 8)

#define vector of weights
weights <- c(.1, .3, .3, .2, .1)

#calculate weighted mean
weighted. mean (x=data, w=weights)

[1] 5.8

La media ponderata risulta essere 5,8 .

Esempio 2: media ponderata di una colonna in un frame di dati

Il codice seguente mostra come calcolare la media ponderata di una colonna in un frame di dati, utilizzando un’altra colonna come peso:

 #create data frame
df <- data.frame(values = c(3, 5, 6, 7, 8),
                 weights = c(.1, .3, .3, .2, .1))

#calculate weighted mean
weighted. mean (x=df$values, w=df$weights)
[1] 5.8

La media ponderata risulta essere 5,8 .

Tieni presente che puoi anche calcolare la media ponderata di una colonna in un frame di dati utilizzando un vettore distinto come peso:

 #create data frame
df <- data.frame(values = c(3, 5, 6, 7, 8),
                 other_data = c(6, 12, 14, 14, 7),
                 more_data = c(3, 3, 4, 7, 9))

#define vector of weights
weights <- c(.1, .3, .3, .2, .1)

#calculate weighted mean
weighted. mean (x=df$values, w=weights)
[1] 5.8

Anche in questo caso la media ponderata risulta pari a 5,8 .

Quando utilizzare una media ponderata

In pratica, si utilizza una media ponderata quando riteniamo che alcuni valori di dati siano più importanti di altri e quindi desideriamo che questi valori più grandi contribuiscano maggiormente alla media finale.

Risorse addizionali

Come calcolare la media di più colonne in R
Come calcolare la media per gruppo in R
Come sommare colonne specifiche in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *