Hoe het geometrische gemiddelde in r te berekenen (met voorbeelden)
U kunt de volgende syntaxis gebruiken om het geometrische gemiddelde van een reeks getallen in R te berekenen:
exp(mean(log(x)))
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld 1: Bereken het geometrische gemiddelde van de vector
De volgende code laat zien hoe je het geometrische gemiddelde van een enkele vector in R kunt berekenen:
#definevector x <- c(4, 8, 9, 9, 12, 14, 17) #calculate geometric mean of values in vector exp(mean(log(x))) [1] 9.579479
Voorbeeld 2: Bereken het geometrische gemiddelde van een vector met nullen
Als uw vector nullen of negatieve getallen bevat, retourneert de bovenstaande formule een 0 of een NaN.
Om nullen en negatieve getallen te negeren bij het berekenen van het geometrische gemiddelde, kunt u de volgende formule gebruiken:
#define vector with some zeros and negative numbers x <- c(4, 8, 9, 9, 12, 14, 17, 0, -4) #calculate geometric mean of values in vector exp(mean(log(x[x > 0]))) [1] 9.579479
Voorbeeld 3: Bereken het geometrische gemiddelde van de kolommen in het dataframe
De volgende code laat zien hoe u het geometrische gemiddelde van een kolom in een dataframe kunt berekenen:
#define data frame df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9), b=c(7, 8, 8, 7, 13, 14, 16), c=c(11, 13, 13, 18, 19, 19, 22), d=c(4, 8, 9, 9, 12, 14, 17)) #calculate geometric mean of values in column 'a' exp(mean(log(df$a))) [1] 4.567508
En de volgende code laat zien hoe u het geometrische gemiddelde van meerdere kolommen in een dataframe kunt berekenen:
#define data frame df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9), b=c(7, 8, 8, 7, 13, 14, 16), c=c(11, 13, 13, 18, 19, 19, 22), d=c(4, 8, 9, 9, 12, 14, 17)) #calculate geometric mean of values in column 'a', 'b', and 'd' apply(df[, c(' a ', ' b ', ' d ')], 2, function (x) exp(mean(log(x)))) abd 4.567508 9.871128 9.579479
Aanvullende bronnen
Hoe het gemiddelde per groep in R te berekenen
Hoe een gewogen gemiddelde in R te berekenen
Hoe de standaardfout van het gemiddelde in R te berekenen