ベクトル化コード:対数の合計を計算する
統計では、対数確率の合計を計算する操作がよくあります。次のコードは対数の合計(各要素の対数を足し合わせたもの)を計算しています。
# x は確率のベクトルです
total <- 0
for(i in seq_along(x))
total <- total + log(x[i])
ただし、このコードはベクトル化を使うことで大幅に改善できます。
この演習はコースの一部です
効率的なRコードの書き方
演習の手順
log()とsum()を使ってxの対数の合計を求め、上のループを簡潔に書き直してください。- 答えはオブジェクト
log_sumに保存してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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 <- ___