Вычисление сумм по строкам
Второе узкое место — вычисление сумм по строкам.
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 = ___
)