การวนลูปผ่านลิสต์
การวนลูปผ่านลิสต์ทำได้ง่ายและสะดวกเช่นเดียวกับการวนลูปผ่านเวกเตอร์ โดยมีสองวิธีดังนี้:
primes_list <- list(2, 3, 5, 7, 11, 13)
# loop version 1
for (p in primes_list) {
print(p)
}
# loop version 2
for (i in 1:length(primes_list)) {
print(primes_list[[i]])
}
สังเกตว่าในลูปแบบที่ 2 ต้องใช้วงเล็บเหลี่ยมคู่ - [[ ]] - เพื่อเลือกองค์ประกอบของลิสต์
สมมติว่ามีลิสต์ที่รวบรวมข้อมูลต่าง ๆ เกี่ยวกับนิวยอร์กซิตี้ ได้แก่ จำนวนประชากร ชื่อของแต่ละเขต และข้อมูลว่าเป็นเมืองหลวงของสหรัฐอเมริกาหรือไม่ ลิสต์ nyc ที่บรรจุข้อมูลเหล่านี้ได้ถูกกำหนดไว้ให้แล้ว (ที่มา: Wikipedia)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
เช่นเดียวกับแบบฝึกหัดก่อนหน้า ให้วนลูปผ่านลิสต์ nyc สองวิธีเพื่อแสดงผลองค์ประกอบแต่ละรายการ:
- วนลูปโดยตรงผ่านลิสต์
nyc(loop version 1) - กำหนดดัชนีสำหรับวนลูปและใช้การ subsetting ด้วยวงเล็บเหลี่ยมคู่ (loop version 2)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# The nyc list is already specified
nyc <- list(pop = 8405837,
boroughs = c("Manhattan", "Bronx", "Brooklyn", "Queens", "Staten Island"),
capital = FALSE)
# Loop version 1
# Loop version 2