ใช้ lapply กับฟังก์ชันในตัวของ R
ก่อนจะเริ่มทำแบบฝึกหัด ลองอ่านเอกสารของฟังก์ชัน lapply() ดูก่อน ในส่วน Usage จะเห็นนิพจน์ดังนี้:
lapply(X, FUN, ...)
โดยสรุป lapply รับ vector หรือ list X แล้วนำฟังก์ชัน FUN ไปใช้กับสมาชิกแต่ละตัว หาก FUN ต้องการอาร์กิวเมนต์เพิ่มเติม ให้ระบุต่อท้ายหลังจาก X และ FUN (...) ผลลัพธ์ของ lapply() จะเป็น list ที่มีความยาวเท่ากับ X โดยแต่ละ element คือผลที่ได้จากการนำ FUN ไปใช้กับ element ที่ตรงกันใน X
มาเพิ่มพูนทักษะด้าน data science กันต่อ ด้วยการย้อนรอยนักคณิตศาสตร์และนักสถิติชื่อดังในประวัติศาสตร์ เราได้รวบรวม vector ของชื่อนักคณิตศาสตร์/นักสถิติที่มีชื่อเสียง พร้อมปีเกิดของแต่ละคนไว้แล้ว ลองดึงข้อมูลที่ต้องการออกมากันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
- ดูการเรียกใช้
strsplit()ซึ่งแบ่ง string ในpioneersโดยใช้สัญลักษณ์:เป็นตัวคั่น ผลลัพธ์ที่ได้คือsplit_mathซึ่งเป็น list ของ character vector จำนวน 4 ตัว โดย element แรกคือชื่อ และ element ที่สองคือปีเกิด - ใช้
lapply()แปลง character vector ในsplit_mathให้เป็นตัวพิมพ์เล็ก โดยนำtolower()ไปใช้กับแต่ละ element ในsplit_mathแล้วกำหนดผลลัพธ์ซึ่งเป็น list ให้กับตัวแปรใหม่ชื่อsplit_low - สุดท้าย ตรวจสอบเนื้อหาของ
split_lowด้วยstr()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# The vector pioneers has already been created for you
pioneers <- c("GAUSS:1777", "BAYES:1702", "PASCAL:1623", "PEARSON:1857")
# Split names from birth year
split_math <- strsplit(pioneers, split = ":")
# Convert to lowercase strings: split_low
# Take a look at the structure of split_low