เปลี่ยน 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 = ___
)