Zacznij terazZacznij za darmo

Kod wektoryzowany: obliczanie sumy logarytmów

Częstą operacją w statystyce jest obliczanie sumy logarytmów prawdopodobieństw. Poniższy kod wyznacza tę sumę za pomocą pętli.

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

Ten fragment kodu można jednak znacznie uprościć, korzystając z podejścia wektoryzowanego.

To ćwiczenie jest częścią kursu

Wydajny kod w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz sumę logarytmów wektora x, używając funkcji log() i sum(), upraszczając powyższą pętlę.
  • Zapisz wynik w obiekcie log_sum.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 <- ___
Edytuj i uruchom kod