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

การคัดลอก 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]
แก้ไขและรันโค้ด