Začněte nyníZačněte zdarma

Vektorizovaný kód: výpočet součtu logaritmů

Běžnou operací ve statistice je výpočet součtu logaritmů pravděpodobností. Následující kód tento součet logaritmů vypočítá.

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

Tento kód ale lze výrazně zlepšit pomocí vektorizovaného přístupu.

Toto cvičení je součástí kurzu

Efektivní kód v R

Zobrazit kurz

Pokyny k cvičení

  • Pomocí funkcí log() a sum() vypočítej součet logaritmů vektoru x a nahraď tak výše uvedenou smyčku.
  • Výsledek ulož do objektu log_sum.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 <- ___
Upravit a spustit kód