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

Обчислення сум за рядками

Другим виявленим «вузьким місцем» було обчислення сум за рядками.

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 = ___
)
Редагувати та запускати код