始める無料で始める

ベクトル化コード:対数の合計を計算する

統計では、対数確率の合計を計算する操作がよくあります。次のコードは対数の合計(各要素の対数を足し合わせたもの)を計算しています。

# 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 <- ___
コードを編集して実行