Hoe een gewogen gemiddelde in r te berekenen
Om een gewogen gemiddelde in R te berekenen, kunt u de ingebouwde functie Weighted.mean() gebruiken, die de volgende syntaxis gebruikt:
gewogen gemiddelde(x,w)
Goud:
- x: een vector van onbewerkte gegevenswaarden
- w: Een gewichtsvector
Deze tutorial toont verschillende voorbeelden van praktisch gebruik van deze functie.
Voorbeeld 1: Gewogen gemiddelde van een vector
De volgende code laat zien hoe u het gewogen gemiddelde voor een bepaalde gegevensvector kunt berekenen:
#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
Het gewogen gemiddelde blijkt 5,8 te zijn.
Voorbeeld 2: Gewogen gemiddelde van een kolom in een dataframe
De volgende code laat zien hoe u het gewogen gemiddelde van een kolom in een gegevensframe kunt berekenen, waarbij u een andere kolom als gewicht gebruikt:
#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
Het gewogen gemiddelde blijkt 5,8 te zijn.
Houd er rekening mee dat u ook het gewogen gemiddelde van een kolom in een gegevensframe kunt berekenen met behulp van een afzonderlijke vector als gewicht:
#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
Ook hier blijkt het gewogen gemiddelde 5,8 te zijn.
Wanneer moet u een gewogen gemiddelde gebruiken?
In de praktijk wordt gebruik gemaakt van een gewogen gemiddelde wanneer we bepaalde datawaarden belangrijker vinden dan andere en daarom willen dat deze grotere waarden meer bijdragen aan het uiteindelijke gemiddelde.
Aanvullende bronnen
Hoe het gemiddelde van meerdere kolommen in R te berekenen
Hoe het gemiddelde per groep in R te berekenen
Hoe specifieke kolommen in R op te tellen