Začněte nyníZačněte zdarma

Převod datového rámce na matici

Jednou z částí kódu, kterou profvis zvýraznil, byl řádek, kde jsme generovali možné hody kostkou a ukládali výsledky do datového rámce:

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

Tento kód můžeme optimalizovat dvěma způsoby:

  • Nahrazením datového rámce maticí
  • Generováním všech 6 hodů kostkou v jediném kroku

Výsledek bude vypadat takto:

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

Toto cvičení je součástí kurzu

Efektivní kód v R

Zobrazit kurz

Pokyny k cvičení

  • Přečti si a pochop řešení s datovým rámcem d().
  • Dokonči maticové řešení m().
    • m() má vytvořit matrix se 6 prvky a 2 sloupci.
  • Pomocí funkce microbenchmark() porovnej časy výpočtu d() a m().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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     = ___
)
Upravit a spustit kód