ComeçarComece de graça

Mude o data frame para uma matriz

Uma das partes do código que o profvis destacou foi a linha em que geramos as possíveis jogadas de dados e guardamos os resultados em um data frame:

df <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
                d2 = sample(1:6, 3, replace = TRUE))

Podemos otimizar esse código fazendo duas melhorias:

  • Trocar de um data frame para uma matriz
  • Gerar as 6 jogadas de dados em uma única etapa

Isso resulta em

m <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)

Este exercício faz parte do curso

Escrevendo código R eficiente

Ver curso

Instruções do exercício

  • Leia e entenda a solução com data frame d().
  • Complete a solução com matriz, m().
    • m() deve criar uma matrix com 6 elementos e 2 colunas.
  • Use a função microbenchmark() para comparar os tempos de d() e m().

Exercício interativo prático

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

# Load the microbenchmark package
___

# The previous data frame solution is defined
# d() Simulates 6 dices rolls
d <- function() {
  data.frame(
    d1 = sample(1:6, 3, replace = TRUE),
    d2 = sample(1:6, 3, replace = TRUE)
  )
}

# Complete the matrix solution
m <- function() {
  ___(sample(1:6, ___, replace = TRUE), ___)
}

# Use microbenchmark to time m() and d()
___(
 data.frame_solution = d(),
 matrix_solution     = ___
)
Editar e executar o código