Calculate Geometric Mean in R

Calculate Geometric Mean in R, Geometric mean is the nth root of the product of n values of a set of observations.

Geometric can be expressed as

GM=(x1, x2, x3, ……, xn)1/n

The advantage of the geometric mean is

  • It is least affected by extreme values
  • It is based on all observations of the set
  • It is suitable for further algebraic treatment.

The disadvantageous of the geometric mean is

  • Calculation is complicated
  • Cannot be calculated if a set of value contains zero If any one or more values are negative, either geometric mean will not be calculated or an absurd value will be obtained.

Decision Trees in R » Classification & Regression »

Calculate Geometric Mean in R

The syntax is as follows,

exp(mean(log(x)))

Approach 1: GM of Vector

Let’s create a vector for geometric mean calculation.

data <- c(1, 15, 12, 5, 18, 11, 12, 15, 18, 25)
exp(mean(log(data)))
10.37383

Log Rank Test in R-Survival Curve Comparison »

Approach 2: GM Vector with Zeros

As mentioned earlier if a set of values contains zero cannot be executed a geometric mean, However, we can ignore zero values and execute GM.

data <- c(1, 15, 12, 5, 0, 18, 11, 12, 15, 18, 25, 0, -11)

The above data set included negative values and zero.

Let’s make use of the below code for GM calculation.

exp(mean(log(data[data>0])))
10.37383

Kruskal Wallis test in R-One-way ANOVA Alternative »

Approach 3: GM Data Frame

Let’s create a data frame for geometric mean calculation.

data<- data.frame(x=c(10, 13, 14, 26, 38, 28, 29),
                 y=c(15, 8, 18, 17, 1, 1, 6),
                 z=c(12, 10, 18, 28, 29, 29, 12))

Calculate the geometric mean for x, y, and z.

apply(data[ , c('x', 'y', 'z')], 2, function(x) exp(mean(log(x))))
    x         y         z
20.379699  5.798203 17.992195

Conclusion

Geometric Mean is considered the most suitable average for index numbers.

Principal component analysis (PCA) in R »

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

20 + 9 =

Ads Blocker Image Powered by Code Help Pro

Quality articles need supporters. Will you be one?

You currently have an Ad Blocker on.

Please support FINNSTATS.COM by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock