如何在 R 中找到逆对数变换?
给定数字 n 的对数是另一个固定数字的指数,底数 b 必须增加,才能产生该数字 n。通俗地说,对数计算重复乘法中相同因子出现的次数。对数函数表示为:
f(x) = log b (x)
当对数的底数b等于10时,我们一般不提,即f(x)=log(x)。对数或指数函数的倒数由下式给出:
一般情况下,
y = log b (x) ⇐⇒ b y = x
对于自然对数:
y = ln (x) ⇐⇒ e y = x
让我们看一些例子以更好地理解:
Example 1: if y = ln (544) = 6.298949
antilog ( y ) = e y = 544
Example 2: if y = log (544) = 2.735598
antilog ( y ) = 10 y = 544
R 编程语言中的逆对数变换可以是exp(x)和expm1(x)函数。 exp( )函数简单地计算指数函数,而 expm1( )函数也准确地计算 |x| 的 exp(x) – 1 << 1. 这里 x 必须是数字或复数向量,基数必须是正数。
方法一:使用exp()
句法:
exp ( x )
其中,x 是一个数值。
例子:
R
exp (100)
exp (9867528)
exp (0)
exp (1.7865)
R
expm1 (100)
expm1 (9867528)
expm1 (0)
expm1 (1.7865)
R
# 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] 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)