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

วนลูปผ่านสมาชิกในเมทริกซ์

ที่ผ่านมาเราวนลูปผ่านโครงสร้างข้อมูลแบบ 1 มิติ แต่ถ้าต้องการวนลูปผ่านสมาชิกในเมทริกซ์ (ทั้งแถวและคอลัมน์) จะต้องใช้ nested loop หรือลูปซ้อนลูป เราจะนำแนวคิดนี้มาใช้แสดงค่าความสัมพันธ์ (correlation) ระหว่างหุ้น 3 ตัว

วิธีคิดที่ง่ายที่สุดคือ เริ่มต้นที่แถวที่ 1 แล้วเลื่อนไปทางขวาทีละคอลัมน์ ตั้งแต่ col1, col2, … จนถึงคอลัมน์สุดท้ายของแถวนั้น จากนั้นเลื่อนลงไปแถวที่ 2 แล้วทำซ้ำกระบวนการเดิม

my_matrix
     [,1]   [,2]  
[1,] "r1c1" "r1c2"
[2,] "r2c1" "r2c2"

# Loop over my_matrix
for(row in 1:nrow(my_matrix)) {
    for(col in 1:ncol(my_matrix)) {
        print(my_matrix[row, col])
    }
}
[1] "r1c1"
[1] "r1c2"
[1] "r2c1"
[1] "r2c2"

เมทริกซ์ความสัมพันธ์ corr ถูกเตรียมไว้ให้แล้ว

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

R ระดับกลางสำหรับการเงิน

ดูคอร์ส

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

  • แสดงผล corr เพื่อดูข้อมูลเบื้องต้น
  • เติม nested for loop ให้สมบูรณ์ โดยมีเงื่อนไขดังนี้:
    • ลูปวงนอกให้วนผ่าน row ของ corr
    • ลูปวงในให้วนผ่าน col ของ corr
    • คำสั่ง print ให้แสดงชื่อของคอลัมน์และแถวปัจจุบัน พร้อมทั้งค่าความสัมพันธ์ของทั้งคู่

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

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

# Print out corr
___

# Create a nested loop
for(row in 1:nrow(___)) {
    for(col in 1:___(corr)) {
        print(paste(colnames(corr)[___], "and", rownames(corr)[___], 
                    "have a correlation of", corr[row,col]))
    }
}
แก้ไขและรันโค้ด