เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เปลี่ยน data frame เป็น matrix

หนึ่งในส่วนของโค้ดที่ profvis ระบุไว้คือบรรทัดที่สร้างตัวเลขจากการทอยลูกเต๋าและเก็บผลลัพธ์ไว้ใน data frame:

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

สามารถปรับปรุงโค้ดนี้ได้โดยทำ 2 อย่าง:

  • เปลี่ยนจาก data frame เป็น matrix
  • สร้างตัวเลขจากการทอยลูกเต๋าทั้ง 6 ครั้งในขั้นตอนเดียว

ได้ผลลัพธ์เป็น

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียน R Code อย่างมีประสิทธิภาพ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • อ่านและทำความเข้าใจโซลูชันแบบ data frame d()
  • เติมโซลูชันแบบ matrix ให้สมบูรณ์ m()
    • m() ควรสร้าง matrix ที่มี 6 สมาชิกและ 2 คอลัมน์
  • ใช้ฟังก์ชัน microbenchmark() เพื่อเปรียบเทียบเวลาการทำงานของ d() และ m()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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     = ___
)
แก้ไขและรันโค้ด