Ändere den Data Frame in eine Matrix
Eine der Codezeilen, die profvis hervorgehoben hat, war die, in der wir die möglichen Würfelwürfe erzeugt und die Ergebnisse in einem Data Frame gespeichert haben:
df <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
d2 = sample(1:6, 3, replace = TRUE))
Diesen Code können wir mit zwei Verbesserungen optimieren:
- Wechsel vom Data Frame zu einer Matrix
- Erzeuge die 6 Würfelwürfe in einem einzigen Schritt
Das ergibt
m <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
Diese Übung ist Teil des Kurses
<Kurs>Effizient R-Code schreiben</Kurs>Übungsanweisungen
- Lies und verstehe die Data-Frame-Lösung
d(). - Vervollständige die Matrix-Lösung
m().m()soll einematrixmit 6 Elementen und 2 Spalten erstellen.
- Verwende die Funktion
microbenchmark(), um die Laufzeiten vond()undm()zu vergleichen.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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 = ___
)