Vektorisierter Code: eine Log-Summe berechnen
Eine häufige Operation in der Statistik ist die Summe von Log‑Wahrscheinlichkeiten zu berechnen. Der folgende Code berechnet die Log‑Summe (die Summe der Logarithmen).
# x ist ein Vektor von Wahrscheinlichkeiten
total <- 0
for(i in seq_along(x))
total <- total + log(x[i])
Dieser Code lässt sich jedoch mit vektorisiertem Code deutlich verbessern.
Diese Übung ist Teil des Kurses
<Kurs>Effizient R-Code schreiben</Kurs>Übungsanweisungen
- Bestimme die Log‑Summe von
xmit den Funktionenlog()undsum()und vereinfache so die obige Schleife. - Speichere deine Antwort im Objekt
log_sum.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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 <- ___