ComeçarComece de graça

Calculando somas por linha

O segundo gargalo identificado foi calcular as somas por linha.

total <- apply(d, 1, sum)

No exercício anterior, você trocou o objeto subjacente para uma matriz. Isso torna a operação apply acima três vezes mais rápida. Mas há mais uma otimização que você pode usar: substitua apply() por rowSums().

Este exercício faz parte do curso

Escrevendo código R eficiente

Ver curso

Instruções do exercício

  • Complete a função r_sum() usando rowSums().
  • Use a função microbenchmark() para comparar os tempos de app() e r_sum().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 = ___
)
Editar e executar o código