1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã R hiệu quả

Connected

Bài tập

Chuyển data frame thành matrix

Một phần mã mà profvis làm nổi bật là dòng chúng ta tạo ra các lần tung xúc xắc và lưu kết quả vào một data frame:

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

Ta có thể tối ưu đoạn mã này bằng hai cải tiến:

  • Chuyển từ data frame sang matrix
  • Tạo cả 6 lần tung xúc xắc chỉ trong một bước

Khi đó ta có

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

Hướng dẫn

100 XP
  • Đọc và hiểu lời giải dùng data frame d().
  • Hoàn thiện lời giải dùng matrix, m().
    • m() nên tạo một matrix có 6 phần tử và 2 cột.
  • Dùng hàm microbenchmark() để so sánh thời gian chạy của d() và m().