CommencezCommencez gratuitement

Code vectorisé : calculer une somme de logarithmes

En statistique, on calcule souvent la somme de probabilités en logarithmes. Le code suivant calcule la somme des logs (la somme des logarithmes).

# x est un vecteur de probabilités
total <- 0
for(i in seq_along(x)) 
    total <- total + log(x[i])

Cependant, ce code peut être grandement amélioré en utilisant du code vectorisé.

Cette activité fait partie du cours

Écrire du code R efficace

Voir le cours

Instructions de l’exercice

  • Trouvez la somme des logs de x en utilisant les fonctions log() et sum(), et simplifiez la boucle ci-dessus.
  • Enregistrez votre réponse dans l'objet log_sum.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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 <- ___
Modifier et exécuter le code