MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Baca dan pahami solusi data frame d().
  • Lengkapi solusi matriks, m().
    • m() harus membuat sebuah matrix dengan 6 elemen dan 2 kolom.
  • Gunakan fungsi microbenchmark() untuk membandingkan waktu eksekusi d() dan m().

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     = ___
)
Edit dan Jalankan Kode