R で幾何平均を計算する方法 (例あり)
次の構文を使用して、R の一連の数値の幾何平均を計算できます。
exp(mean(log(x)))
次の例は、この関数を実際に使用する方法を示しています。
例 1: ベクトルの幾何平均を計算する
次のコードは、R の単一ベクトルの幾何平均を計算する方法を示しています。
#definevector x <- c(4, 8, 9, 9, 12, 14, 17) #calculate geometric mean of values in vector exp(mean(log(x))) [1] 9.579479
例 2: ゼロを含むベクトルの幾何平均を計算する
ベクトルにゼロまたは負の数値が含まれている場合、上記の式は 0 または NaN を返します。
幾何平均を計算するときにゼロと負の数値を無視するには、次の式を使用できます。
#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
例 3: データ フレーム内の列の幾何平均を計算する
次のコードは、データ フレーム内の列の幾何平均を計算する方法を示しています。
#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
次のコードは、データ フレーム内の複数の列の幾何平均を計算する方法を示しています。
#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