ÎncepețiÎncepe gratuit

Cod vectorizat: calculul unei sume logaritmice

O operație frecventă în statistică este calculul sumei logaritmilor unor probabilități. Codul de mai jos calculează suma logaritmică (suma valorilor log).

# x is a vector of probabilities
total <- 0
for(i in seq_along(x)) 
    total <- total + log(x[i])

Totuși, acest cod poate fi îmbunătățit semnificativ prin utilizarea codului vectorizat.

Acest exercițiu face parte din cursul

Scrierea codului R eficient

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează suma logaritmică a lui x folosind funcțiile log() și sum(), simplificând bucla de mai sus.
  • Stochează rezultatul în obiectul log_sum.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 <- ___
Editează și rulează codul