Kom igångKom igång gratis

Vektoriserad kod: beräkna en log-summa

En vanlig operation inom statistik är att beräkna summan av log-sannolikheter. Följande kod beräknar log-summan (summan av logaritmerna).

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

Den här koden kan förbättras avsevärt med hjälp av vektoriserad kod.

Den här övningen är en del av kursen

Effektiv R-kod

Visa kurs

Övningsinstruktioner

  • Beräkna log-summan av x med funktionerna log() och sum(), och förenkla slingan ovan.
  • Spara resultatet i objektet log_sum.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 <- ___
Redigera och kör kod