Código vetorizado: calculando uma soma de log
Uma operação comum em estatística é calcular a soma de probabilidades em log. O código a seguir calcula a soma dos logs (log-sum).
# x é um vetor de probabilidades
total <- 0
for(i in seq_along(x))
total <- total + log(x[i])
No entanto, esse trecho de código pode ser significativamente melhorado usando código vetorizado.
Este exercício faz parte do curso
Escrevendo código R eficiente
Instruções do exercício
- Encontre a soma dos logs de
xusando as funçõeslog()esum(), simplificando o loop acima. - Guarde sua resposta no objeto
log_sum.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 <- ___