Calcular sumas por fila
El segundo cuello de botella identificado fue calcular las sumas por fila.
total <- apply(d, 1, sum)
En el ejercicio anterior cambiaste el objeto subyacente a una matriz. Esto hace que la operación apply anterior sea tres veces más rápida.
Pero aún puedes aplicar otra optimización: sustituye apply() por rowSums().
Este ejercicio forma parte del curso
Escribir código R eficiente
Instrucciones del ejercicio
- Completa la función
r_sum()usandorowSums(). - Utiliza la función
microbenchmark()para comparar los tiempos deapp()yr_sum().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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 = ___
)