Calcul des sommes par ligne
Le deuxième goulot d’étranglement identifié concernait le calcul des sommes par ligne.
total <- apply(d, 1, sum)
Dans l’exercice précédent, vous avez converti l’objet sous-jacent en matrice. Cela rend l’opération apply ci-dessus trois fois plus rapide.
Mais vous pouvez aller plus loin : remplacez apply() par rowSums().
Cet exercice fait partie du cours
Écrire du code R efficace
Instructions
- Complétez la fonction
r_sum()en utilisantrowSums(). - Utilisez la fonction
microbenchmark()pour comparer les temps d’exécution deapp()etr_sum().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 = ___
)