ÎncepețiÎncepe gratuit

Transformă data frame-ul într-o matrice

Una dintre porțiunile de cod evidențiate de profvis a fost linia în care am generat aruncările posibile cu zarurile și am stocat rezultatele într-un data frame:

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

Putem optimiza acest cod prin două îmbunătățiri:

  • Înlocuirea data frame-ului cu o matrice
  • Generarea celor 6 aruncări cu zarurile într-un singur pas

Astfel obținem

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

Acest exercițiu face parte din cursul

Scrierea codului R eficient

Vezi cursul

Instrucțiuni pentru exercițiu

  • Citește și înțelege soluția cu data frame d().
  • Completează soluția cu matrice, m().
    • m() trebuie să creeze o matrix cu 6 elemente și 2 coloane.
  • Folosește funcția microbenchmark() pentru a compara timpii de execuție ai d() și m().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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     = ___
)
Editează și rulează codul