ÎncepețiÎncepe gratuit

Calcularea sumelor pe rânduri

Al doilea bottleneck identificat a fost calcularea sumelor pe rânduri.

total <- apply(d, 1, sum)

În exercițiul anterior ai schimbat obiectul de bază cu o matrice. Acest lucru face ca operația apply de mai sus să fie de trei ori mai rapidă. Există însă o optimizare suplimentară pe care o poți aplica – înlocuiește apply() cu rowSums().

Acest exercițiu face parte din cursul

Scrierea codului R eficient

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează funcția r_sum() folosind rowSums().
  • Folosește funcția microbenchmark() pentru a compara timpii de execuție ai app() și r_sum().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 = ___
)
Editează și rulează codul