Kom igångKom igång gratis

Byt ut dataramen mot en matris

En av de delar i koden som profvis lyfte fram var raden där vi genererade möjliga tärningsutfall och lagrade resultaten i en dataframe:

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

Vi kan optimera den här koden genom att göra två förbättringar:

  • Byta ut dataramen mot en matris
  • Generera de 6 tärningskasten i ett enda steg

Detta ger

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

Den här övningen är en del av kursen

Effektiv R-kod

Visa kurs

Övningsinstruktioner

  • Läs och förstå dataramslösningen d().
  • Slutför matrislösningen, m().
    • m() ska skapa en matrix med 6 element och 2 kolumner.
  • Använd funktionen microbenchmark() för att jämföra körtiderna för d() och m().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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     = ___
)
Redigera och kör kod