ตอบ: วิธีใช้ฟังก์ชัน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *