R语言 如何在R中找到逆对数转换
一个给定的数字n的对数是另一个固定的数字,即基数b,必须提高到什么程度,才能产生这个数字n。 一个对数函数表示为。
f(x) = logb (x)
当对数的基数b等于10时,我们一般不提,即f(x)=log(x)。对数或指数函数的逆值由 。
在一般情况下。
y = logb (x) ⇐⇒ by = x
对于自然对数:
y = ln (x) ⇐⇒ ey = x
让我们看看一些例子,以便更好地理解。
例1: 如果y = ln (544) = 6.298949
反比 ( y ) = ey = 544
例2: 如果y = log (544) = 2.735598
反log ( y ) = 10y = 544
R编程语言中的反对数转换可以是 exp(x )和 expm1(x )函数。exp( )函数只是简单地计算指数函数,而expm1( )函数计算exp(x)-1时也是准确地计算|x|<<1。这里x必须是一个数字或复数向量,基数必须是正数。
方法1:使用exp()
语法 。
exp ( x )
其中,x是一个数字值。
例子 。
exp (100)
exp (9867528)
exp (0)
exp (1.7865)
输出 。
[1] 2.688117e+43 # exp (100)
[1] Inf # exp (9867528)
[1] 1 # exp (0)
[1] 5.968526 # exp (1.7865)
对于更大的数字,它一般会返回 “Inf”,即无穷大。
方法2:使用expm1()
语法 。
expm1 ( x ) = exp (x) – 1
其中,x是一个数字值。
例子 。
expm1 (100)
expm1 (9867528)
expm1 (0)
expm1 (1.7865)
输出 。
[1] 2.688117e+43 # expm1 (100)
[1] Inf # expm1 (9867528)
[1] 0 # expm1 (0)
[1] 4.968526 # expm1 (1.7865)
对于大的数值exp( )和expm1( )函数返回相同的数值。
例子 :
# calculate logarithmic of a number
y = log(544, base = exp(1))
print(y)
# calculate its inverse log
# using exp( ) function.
antilog_y1 = exp (y)
print(antilog_y1)
# calculate its inverse log
# using expm1( ) function.
antilog_y2 = expm1 (y)
print(antilog_y2)
输出 。
[1] 6.298949 # print(y)
[1] 544 # print(antilog_y1)
[1] 543 # print(antilog_y2)