НачатьНачать бесплатно

Вычисление сумм по строкам

Второе узкое место — вычисление сумм по строкам.

total <- apply(d, 1, sum)

В предыдущем упражнении вы заменили исходный объект на матрицу. Это ускорило операцию apply в три раза. Однако есть ещё одна оптимизация: замените apply() на rowSums().

Это упражнение является частью курса

Эффективный код на R

Посмотреть курс

Инструкции к упражнению

  • Завершите функцию r_sum(), используя rowSums().
  • Используйте функцию microbenchmark(), чтобы сравнить время выполнения app() и r_sum().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Example data
rolls

# Define the previous solution 
app <- function(x) {
    apply(x, 1, sum)
}

# Define the new solution
r_sum <- function(x) {
    ___(x)
}

# Compare the methods
microbenchmark(
    app_sol = app(rolls),
    r_sum_sol = ___
)
Редактировать и запускать код