การคัดลอก matrix และ big.matrix
หากต้องการคัดลอกออบเจกต์ big.matrix จำเป็นต้องใช้ฟังก์ชัน deepcopy() ซึ่งมีประโยชน์มากเมื่อต้องการสร้างออบเจกต์ big.matrix ขนาดเล็กลง ในแบบฝึกหัดนี้ จะได้ทดลองคัดลอกออบเจกต์ big.matrix และสังเกตพฤติกรรมการอ้างอิง (reference behavior) ของออบเจกต์ประเภทนี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประมวลผลข้อมูลขนาดใหญ่ใน R
คำแนะนำการฝึกหัด
ออบเจกต์ big.matrix ชื่อ mort พร้อมใช้งานใน workspace แล้ว
- สร้างตัวแปรใหม่ชื่อ
first_threeซึ่งเป็นสำเนาแบบ explicit ของmortโดยเก็บเฉพาะสามคอลัมน์แรก - กำหนดให้ตัวแปร
first_three_2ชี้ไปที่first_three - กำหนดค่าในแถวแรกและคอลัมน์แรกของ
first_threeเป็นNA - ตรวจสอบว่าการเปลี่ยนแปลงนี้ปรากฏใน
first_three_2แต่ไม่ปรากฏในmort
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use deepcopy() to create first_three
first_three <- ___(___, cols = ___,
backingfile = "first_three.bin",
descriptorfile = "first_three.desc")
# Set first_three_2 equal to first_three
___ <- ___
# Set the value in the first row and first column of first_three to NA
first_three[___, ___] <- NA
# Verify the change shows up in first_three_2
first_three_2[1, 1]
# but not in mort
mort[1, 1]