CommencerCommencer gratuitement

Code vectorisé : calculer une somme de logarithmes

Une opération courante en statistique consiste à calculer la somme de logarithmes de probabilités. Le code suivant calcule cette somme (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 nettement amélioré en utilisant du code vectorisé.

Cet exercice fait partie du cours

Écrire du code R efficace

Afficher le cours

Instructions

  • Calculez la somme des logarithmes de x en utilisant les fonctions log() et sum(), et simplifiez ainsi la boucle ci-dessus.
  • Stockez votre réponse dans l’objet log_sum.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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