จำลองข้อมูลด้วย input หลายตัวโดยใช้ map2()
ฟังก์ชัน map() เหมาะมากสำหรับการวนซ้ำบนลิสต์ หนึ่ง รายการ แต่ในหลายกรณี เราจำเป็นต้องวนซ้ำบนสองลิสต์พร้อมกัน นั่นคือจุดที่ map2() เข้ามาช่วย ในขณะที่ map() รับลิสต์เป็น argument .x เพียงตัวเดียว map2() จะรับลิสต์สองรายการเป็น argument .x และ .y
เพื่อทดลองใช้ map2() เราจะสร้างชุดข้อมูลง่ายๆ ที่ประกอบด้วยลิสต์ตัวเลขหนึ่งรายการและลิสต์ string อีกหนึ่งรายการ แล้วนำสองลิสต์นี้มารวมกันเพื่อสร้างข้อมูลจำลอง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Foundations of Functional Programming with purrr
คำแนะนำการฝึกหัด
- สร้างลิสต์
meansที่มีค่าตั้งแต่ 1 ถึง 3 โดยแต่ละค่าเป็น element แยกกัน - สร้างลิสต์
sitesที่มี "north", "west" และ "east" - ใช้
map2()วนซ้ำบนลิสต์sitesและmeansเพื่อสร้าง data frame ที่มีสองคอลัมน์- คอลัมน์แรกคือ
sitesและคอลัมน์ที่สองสร้างด้วยrnorm()โดยใช้meanจากลิสต์means
- คอลัมน์แรกคือ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# List of 1, 2 and 3
means <- list(___)
# Create sites list
sites <- list(___)
# Map over two arguments: sites and means
list_of_files_map2 <- map2(___, ___, ~___(sites = ___,
a = rnorm(mean = ___, n = 200, sd = (5/2))))
list_of_files_map2