Logarithm and exponential in R

R introduction Mathematical functions
Logarithm and exponential in R

Logarithms and exponential can be computed making use of the functions provided by R: the log function for natural logarithms, log2 and log10 for base 2 and 10 logarithms, respectively, log1p to compute log(1 + x) and the exp function to compute the exponential function and expm1 to calculate exp(x) - 1.

log()

The basic R function to compute logarithms is log, which calculates natural logarithms. The syntax of the function is as follows.

Syntax
log(x, base = exp(1))

Note that the base argument allows you to customize the base of the logarithm. In the following block of code you can see some examples.

Examples
log(8) log(0) log(1) log(10) log(12, base = 2)
Output
2.079442 -Inf 0 2.302585 3.584963

You can make use of the plot function to represent the values of a natural logarithm:

plot(log, 0, 100, col = 4, main = "log(x)")
segments(x0 = exp(1), y0 = 0, x1 = exp(1), y1 = 1, lty = 2)
segments(x0 = 0, y0 = 1, x1 = exp(1), y1 = 1, lty = 2)
points(exp(1), 1, pch = 16)

The log function in R to compute natural logarithms

log2()

The log2 function calculates a logarithm with base 2 and is equivalent to log(x, base = 2).

Examples
log2(10) log(10, base = 2) # Equivalent
Output
3.321928 3.321928

You can see a visual representation of the logarithm of base 2 from 0 to 100 in the following chart:

plot(log2, 0, 100, col = 4, main = "log2(x)")
segments(x0 = 2, y0 = 0, x1 = 2, y1 = 1, lty = 2)
segments(x0 = 0, y0 = 1, x1 = 2, y1 = 1, lty = 2)
points(2, 1, pch = 16)

The log2 function in 2 for base 2 logarithms

log10()

The log10 function is a wrapper of log(x, base = 10) and computes a logarithm of base 10.

Examples
log10(10) log(10, base = 10) # Equivalent
Output
1 1

You can plot this function with the following block of code:

plot(log10, 0, 100, col = 4, main = "log10(x)")
segments(x0 = 10, y0 = 0, x1 = 10, y1 = 1, lty = 2)
segments(x0 = 0, y0 = 1, x1 = 10, y1 = 1, lty = 2)
points(10, 1, pch = 16)

The log10 function in R for logarithms of base 10

log1p()

The log1p() function computes log(1 + x), accurately also for |x| ≪ 1.

Examples
# log(10) log(10) # log(1 + 10) log1p(10) # log(11) log(11)
Output
2.302585 2.397895 2.397895

You can plot this function with the following line of code:

plot(log1p, -0.99, 10, col = 4, main = "log1p(x)")

The log1p function in R

exp()

The exp function in R computes the exponential function, which is the inverse of the natural logarithm. The following block contains some examples of the usage of the exp function.

Examples
exp(10) exp(0) exp(-5) exp(4)
Output
22026.47 1 0.006737947 54.59815

You can also plot the exponential function making use of the plot function as shown below:

plot(exp, -10, 10, col = 4, main = "exp(x)")

The exp function in R to compute the exponential function

expm1()

The expm1 function computes exp(x) -1, accurately also for |x| ≪ 1.

Examples
expm1(5) exp(5) - 1 expm1(0.15) exp(0.15) - 1
Output
147.4132 147.4132 0.1618342 0.1618342

You can use the following line of code to plot this function for different values.

plot(expm1, -10, 10, col = 4, main = "expm1(x)")

The expm1 function in R