我想计算长数字向量的几何平均数,但我似乎经常受到R可以存储的数字大小的限制。要计算几何平均值,必须找到所有数字的乘积,如果向量和/或数字足够大,则R可能是一个巨大的数字,而R似乎用尽了空间,例如:
> prod(sample(3,1000,replace=T))
[1] 2.09439e+265
没问题,但是
> prod(sample(10,1000,replace=T))
[1] Inf
不是。
是否有一种解决方法,或者必须要么A)接近几何平均值的近似值(mean(x) - var(x)/2
是一个被广泛引用但相当可怕的近似值,或者B)导出数据并使用其他软件比如Mathematica做这个工作?
非常感谢