如何计算 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 中平均值的标准误差

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注