Začněte nyníZačněte zdarma

Výpočet součtů řádků

Druhým identifikovaným úzkým místem byl výpočet součtů řádků.

total <- apply(d, 1, sum)

V předchozím cvičení jsi změnil/a podkladový objekt na matici. Díky tomu je výše uvedená operace s apply třikrát rychlejší. Existuje ale ještě jedna optimalizace – nahraď apply() funkcí rowSums().

Toto cvičení je součástí kurzu

Efektivní kód v R

Zobrazit kurz

Pokyny k cvičení

  • Dokonči funkci r_sum() pomocí rowSums().
  • Pomocí funkce microbenchmark() porovnej časy běhu funkcí app() a r_sum().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 = ___
)
Upravit a spustit kód