ตอบ: วิธีใช้ฟังก์ชัน lapply() กับอาร์กิวเมนต์หลายตัว
ฟังก์ชัน lapply() ใน R สามารถใช้ฟังก์ชันกับแต่ละองค์ประกอบของรายการ เวกเตอร์ หรือกรอบข้อมูล และรับ รายการ ตามนั้น
หากต้องการใช้ฟังก์ชัน lapply() กับหลายอาร์กิวเมนต์ คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้:
#define function my_function <- function (var1,var2,var3){ var1*var2*var3 } #apply function to list using multiple arguments lapply(my_list, my_function, var2=3, var3=5)
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ lapply() กับอาร์กิวเมนต์หลายตัวใน R
สมมติว่าเรามีรายการต่อไปนี้ใน R:
#create a list my_list <- list(A=1, B=2, C=3, D=4) #view list my_list $A [1] 1 $B [1] 2 $C [1] 3 $D [1] 4
โค้ดต่อไปนี้กำหนดฟังก์ชันที่ยอมรับตัวแปร 3 ตัวและคูณตัวแปร 3 ตัวเข้าด้วยกัน จากนั้นใช้ฟังก์ชัน lapply() เพื่อนำฟังก์ชันนี้ไปใช้กับแต่ละค่าในรายการของเรา:
#define function my_function <- function (var1,var2,var3){ var1*var2*var3 } #apply function to list using multiple arguments lapply(my_list, my_function, var2=3, var3=5) $A [1] 15 $B [1] 30 $C [1] 45 $D [1] 60
โปรดทราบว่าฟังก์ชัน lapply() จะคูณแต่ละค่าในรายการด้วย 3 จากนั้นด้วย 5
ตัวอย่างเช่น:
- ค่าแรกในรายการ: 1 * 3 * 5 = 15
- ค่าที่สองในรายการ: 2 * 3 * 5 = 30
- ค่าที่สามในรายการ: 3 * 3 * 5 = 45
- ค่าที่สี่ในรายการ: 4 * 3 * 5 = 60
เมื่อใช้ไวยากรณ์ที่คล้ายกัน คุณสามารถระบุอาร์กิวเมนต์ให้กับฟังก์ชัน lapply() ได้มากเท่าที่คุณต้องการ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีใช้ฟังก์ชันกับแต่ละแถวของกรอบข้อมูลใน R
วิธีใช้ฟังก์ชัน colSums() ใน R
วิธีใช้ฟังก์ชัน rowSums() ใน R