首页 > 解决方案 > 当某些向量值为负时,关于几何平均值的问题

问题描述

我已经知道在 R 中没有计算几何平均值的函数(或者它可能已经存在,但我什么都不知道)。但我也知道它可以替换为等价的形式exp(mean(log(x)))。我也知道,如果 x 具有负值,则结果将不正确。我的问题是,我可以向 x 添加一个常数,以便所有值都是正数,然后使用exp(mean(log(x)))并最终以某种方式重新计算结果(通过减去?)先前添加的常数。

一点更新

如果我做这样的事情

x = c(2,3,4,-1)
gmean = function(x) exp(mean(log(x)))
gmean(x)

显然我得到In log (x): NaNs produced

我想知道我是否可以做这样的事情

gmean(x+2)

然后质量重新计算结果,考虑到每个元素增加 2 的事实。

也许这确实是你简历上的一个问题。如果你这么认为,我会把它们放在那里。

标签: rbase

解决方案


推荐阅读