ฟังก์ชันนิรนาม
สำหรับแบบฝึกหัดสุดท้าย เราจะมาเรียนรู้แนวคิดที่เรียกว่า ฟังก์ชันนิรนาม (anonymous functions) ที่ผ่านมา เมื่อเรียกใช้ฟังก์ชัน apply เช่น vapply() เราส่งฟังก์ชันที่มีชื่อเข้าไปใน FUN ซึ่งดูเหมือนจะยุ่งยากโดยไม่จำเป็น หากต้องสร้างฟังก์ชันขึ้นมาเพียงเพื่อใช้กับ vapply() ครั้งเดียว ฟังก์ชันนิรนามช่วยแก้ปัญหานี้ได้!
ฟังก์ชันที่มีชื่อ:
percent_to_decimal <- function(percent) {
percent / 100
}
ฟังก์ชันนิรนาม:
function(percent) { percent / 100 }
จะเห็นว่าฟังก์ชันนิรนามคือฟังก์ชันที่ไม่ได้กำหนดชื่อให้ หากต้องการใช้งานใน vapply() สามารถทำได้ดังนี้:
vapply(stock_return, FUN = function(percent) { percent / 100 },
FUN.VALUE = numeric(2))
apple ibm
[1,] 0.003744634 0.001251408
[2,] -0.007188353 -0.001124859
stock_return พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
- ใช้
vapply()เพื่อนำฟังก์ชันนิรนามไปใช้กับแต่ละคอลัมน์ของstock_returnโดยให้คืนค่าเวกเตอร์ที่ประกอบด้วยmax()และmin()ตามลำดับนั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Max and min
vapply(___,
FUN = function(x) { ___ },
FUN.VALUE = ___)