Código vectorizado: calcular una suma de logaritmos
Una operación común en estadística es calcular la suma de log-probabilidades. El siguiente código calcula la suma de logaritmos (la suma de los logs).
# x es un vector de probabilidades
total <- 0
for(i in seq_along(x))
total <- total + log(x[i])
Sin embargo, este código se puede mejorar significativamente usando código vectorizado.
Este ejercicio forma parte del curso
Escribir código R eficiente
Instrucciones del ejercicio
- Calcula la suma de logaritmos de
xusando las funcioneslog()ysum(), simplificando el bucle anterior. - Guarda tu respuesta en el objeto
log_sum.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initial code
n <- 100
total <- 0
x <- runif(n)
for(i in 1:n)
total <- total + log(x[i])
# Rewrite in a single line. Store the result in log_sum
log_sum <- ___