Ubah data frame menjadi matriks
Salah satu bagian kode yang disorot oleh profvis adalah baris saat kita menghasilkan kemungkinan lemparan dadu dan menyimpan hasilnya dalam sebuah data frame:
df <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
d2 = sample(1:6, 3, replace = TRUE))
Kita dapat mengoptimalkan kode ini dengan dua perbaikan:
- Beralih dari data frame ke matriks
- Menghasilkan 6 lemparan dadu dalam satu langkah
Hasilnya menjadi
m <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
Latihan ini adalah bagian dari kursus
Menulis Kode R yang Efisien
Petunjuk latihan
- Baca dan pahami solusi data frame
d(). - Lengkapi solusi matriks,
m().m()harus membuat sebuahmatrixdengan 6 elemen dan 2 kolom.
- Gunakan fungsi
microbenchmark()untuk membandingkan waktu eksekusid()danm().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 = ___
)