Zacznij terazZacznij za darmo

Obliczanie sum wierszy

Drugim zidentyfikowanym wąskim gardłem było obliczanie sum wierszy.

total <- apply(d, 1, sum)

W poprzednim ćwiczeniu podmieniliśmy obiekt na macierz. Dzięki temu powyższa operacja apply działa trzy razy szybciej. Można jednak zastosować jeszcze jedną optymalizację – zamienić apply() na rowSums().

To ćwiczenie jest częścią kursu

Wydajny kod w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij funkcję r_sum(), używając rowSums().
  • Użyj funkcji microbenchmark(), aby porównać czasy działania app() i r_sum().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 = ___
)
Edytuj i uruchom kod