Vectorized code: calculating a log-sum
A common operation in statistics is to calculate the sum of log probabilities. The following code calculates the log-sum (the sum of the logs).
# x is a vector of probabilities
total <- 0
for(i in seq_along(x))
total <- total + log(x[i])
However this piece of code could be significantly improved using vectorized code.
Diese Übung ist Teil des Kurses
Writing Efficient R Code
Anleitung zur Übung
- Find the log-sum of
x
using thelog()
andsum()
functions, simplify the above loop. - Store your answer in the object
log_sum
.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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 <- ___