CommencezCommencez gratuitement

Calcul des sommes par ligne

Le deuxième goulot d'étranglement repéré concerne le calcul des sommes par ligne.

total <- apply(d, 1, sum)

Dans l'exercice précédent, vous avez remplacé l'objet sous-jacent par une matrice. Cela rend l'appel à apply ci-dessus trois fois plus rapide. Mais vous pouvez aller un peu plus loin : remplacez apply() par rowSums().

Cette activité fait partie du cours

Écrire du code R efficace

Voir le cours

Instructions de l’exercice

  • Complétez la fonction r_sum() en utilisant rowSums().
  • Utilisez la fonction microbenchmark() pour comparer les temps d'exécution de app() et r_sum().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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 = ___
)
Modifier et exécuter le code