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

lapply() กับลิสต์

ฟังก์ชันแรกในตระกูล apply ที่จะได้เรียนคือ lapply() ซึ่งย่อมาจาก "list apply" เมื่อมีลิสต์และต้องการนำฟังก์ชันเดียวกันไปใช้กับทุกองค์ประกอบในลิสต์ lapply() คือตัวเลือกที่เหมาะสม โดยจะคืนค่ากลับมาเป็นลิสต์เสมอ

มาดูตัวอย่างง่ายๆ กัน สมมติว่าต้องการหาความยาวของแต่ละเวกเตอร์ในลิสต์ต่อไปนี้

my_list
$a
[1] 2 4 5

$b
[1] 10 14  5  3  4  5  6

# Using lapply
# Note that you don't need parenthesis when calling length
lapply(my_list, FUN = length)
$a
[1] 3

$b
[1] 7

อย่างที่กล่าวไว้ในวิดีโอ หากคิดถึงการใช้ลูปวนซ้ำแต่ละองค์ประกอบในลิสต์แล้วเรียก length() ในแต่ละรอบ ก็ไม่ผิด lapply() คือเวอร์ชันแบบเวกเตอร์ไรซ์ของลูปประเภทนี้ ซึ่งมักเป็นที่นิยมและเขียนได้กระชับกว่าในโลกของ R

มีการเตรียมลิสต์ผลตอบแทนหุ้นรายวัน ในรูปแบบเปอร์เซ็นต์ ชื่อ stock_return และฟังก์ชัน percent_to_decimal() ไว้ให้แล้ว

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

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

ดูคอร์ส

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

  • แสดงผล stock_return
  • เติมฟังก์ชัน lapply() เพื่อนำ percent_to_decimal() ไปใช้กับแต่ละองค์ประกอบใน stock_return

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

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

# Print stock_return
___

# lapply to change percents to decimal
lapply(___, FUN = ___)
แก้ไขและรันโค้ด