ПочатиПочніть безкоштовно

Векторизований код: обчислення суми логарифмів

Поширена операція в статистиці — обчислювати суму логймовірностей. Наведений код обчислює суму логарифмів.

# x — це вектор ймовірностей
total <- 0
for(i in seq_along(x)) 
    total <- total + log(x[i])

Однак цей фрагмент коду можна суттєво покращити, використавши векторизований підхід.

Ця вправа є частиною курсу

Ефективне програмування R

Переглянути курс

Інструкції до вправи

  • Знайдіть суму логарифмів для x, використавши функції log() і sum(), спростіть цикл вище.
  • Збережіть відповідь в об'єкті 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 <- ___
Редагувати та запускати код