Logaritmos y exponenciales en R

Introducción a R Funciones matemáticas
Logaritmos y exponenciales en R

Los logaritmos y exponenciales pueden calcularse haciendo uso de las funciones que proporciona R: la función log para logaritmos naturales, log2 y log10 para logaritmos de base 2 y 10, respectivamente, log1p para calcular log(1 + x) y la función exp para calcular la función exponencial y expm1 para calcular exp(x) - 1.

log()

La función básica de R para calcular logaritmos es log, que calcula logaritmos naturales. La sintaxis de la función es la siguiente.

log(x, base = exp(1))

Ten en cuenta que el argumento base te permite personalizar la base del logaritmo. En el siguiente bloque de código puedes ver algunos ejemplos.

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

Puedes utilizar la función plot para representar los valores de un logaritmo natural:

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)

La función log en R para calcular logaritmos naturales

log2()

La función log2 calcula un logaritmo con base 2 y es equivalente a log(x, base = 2).

log2(10)
log(10, base = 2) # Equivalente
3.321928
3.321928

Puedes ver una representación visual del logaritmo de base 2 de 0 a 100 en el siguiente gráfico:

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)

La función log2 en 2 para logaritmos en base 2

log10()

La función log10 es una abreviación de log(x, base = 10) y calcula un logaritmo de base 10.

log10(10)
log(10, base = 10) # Equivalente
1
1

Puedes dibujar esta función con el siguiente bloque de código:

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)

La función log10 en R para logaritmos en base 10

log1p()

La función log1p() calcula log(1 + x), con precisión también para |x| ≪ 1.

# log(10)
log(10)

# log(1 + 10)
log1p(10)

# log(11)
log(11)
2.302585
2.397895
2.397895

La siguiente línea de código ilustra cómo representar esta función:

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

La función log1p en R

exp()

La función exp en R calcula la función exponencial, que es la inversa del logaritmo natural. El siguiente bloque contiene algunos ejemplos de uso de la función exp.

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

También puedes dibujar la función exponencial utilizando la función plot como se muestra a continuación:

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

La función exp en R para calcular la función exponencial

expm1()

La función expm1 calcula exp(x) -1, con precisión también para |x| ≪ 1.

expm1(5)
exp(5) - 1

expm1(0.15)
exp(0.15) - 1
147.4132
147.4132
0.1618342
0.1618342

Puedes utilizar la siguiente línea de código para dibujar esta función para diferentes valores.

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

La función expm1 en R