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

追加リソース

R でグループごとの平均を計算する方法
R で加重平均を計算する方法
R の平均の標準誤差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です