ใช้งาน vapply
ก่อนที่จะลงมือใช้งานฟังก์ชัน apply ตัวที่สามและตัวสุดท้ายในคอร์ส Intermediate R นี้ มาดูรูปแบบไวยากรณ์ของมันกันก่อน ฟังก์ชันนี้มีชื่อว่า vapply() และมีโครงสร้างดังนี้
vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)
ฟังก์ชันนี้จะนำ FUN ไปประมวลผลกับแต่ละองค์ประกอบใน X โดยอาร์กิวเมนต์ FUN.VALUE ใช้กำหนดรูปแบบของค่าที่ FUN จะคืนกลับมา ส่วน USE.NAMES มีค่าเริ่มต้นเป็น TRUE ซึ่งหมายความว่า vapply() จะพยายามสร้าง array แบบมีชื่อ (named array) หากทำได้
สำหรับชุดแบบฝึกหัดถัดไป เราจะกลับมาทำงานกับ list ชื่อ temp อีกครั้ง ซึ่งประกอบด้วยเวกเตอร์ตัวเลข 7 ตัว แต่ละตัวมีความยาว 5 นอกจากนี้ยังมีฟังก์ชัน basics() ที่รับเวกเตอร์เป็น input และคืนค่าเป็น named vector ความยาว 3 ประกอบด้วยค่าต่ำสุด ค่าเฉลี่ย และค่าสูงสุดของเวกเตอร์นั้นตามลำดับ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
- ใช้
vapply()เพื่อประมวลผลฟังก์ชันbasics()กับข้อมูลอุณหภูมิใน listtempโดยระบุอาร์กิวเมนต์FUN.VALUEเป็นnumeric(3)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# temp is already available in the workspace
# Definition of basics()
basics <- function(x) {
c(min = min(x), mean = mean(x), max = max(x))
}
# Apply basics() over temp using vapply()