วิธีใช้ฟังก์ชัน match() ใน r (พร้อมตัวอย่าง)


ฟังก์ชัน match() ใน R จะคืนค่าตำแหน่งของการจับคู่แรกระหว่างวัตถุสองชิ้น

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 match(object1, object2)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชันนี้ในสถานการณ์ต่างๆ

ตัวอย่างที่ 1: การจับคู่ค่าในเวกเตอร์

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน match() เพื่อค้นหาการเกิดขึ้นครั้งแรกของค่าเฉพาะในเวกเตอร์:

 #define value to look for in vector
value <- 10

#define vector of values
vector1 <- c(8, 9, 1, 10, 13, 15)

#find first occurrence of 10
match(value, vector1)

[1] 4

สิ่งนี้บอกเราว่าค่า 10 ปรากฏครั้งแรกในตำแหน่ง ที่ 4 ของเวกเตอร์

โปรดทราบว่าหากตรงกันหลายค่า ระบบจะส่งคืนเฉพาะตำแหน่งของรายการที่ตรงกันรายการแรกเท่านั้น

ตัวอย่างเช่น เวกเตอร์ต่อไปนี้มีสองค่าเท่ากับ 10 แต่จะส่งคืนเฉพาะตำแหน่งของ 10 ตัวแรกเท่านั้น:

 #define value to look for in vector
value <- 10

#define vector of values with multiple '10' values
vector1 <- c(8, 9, 1, 10, 10, 10)

#find first occurrence of 10
match(value, vector1)

[1] 4

ค่า 10 ปรากฏที่ตำแหน่ง 4, 5 และ 6 แต่จะส่งคืนเฉพาะตำแหน่ง 4 เท่านั้น

ตัวอย่างที่ 2: การจับคู่ค่าในเวกเตอร์สองตัว

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน match() เพื่อค้นหาค่าที่เกิดขึ้นครั้งแรกในเวกเตอร์หนึ่งในอีกเวกเตอร์อื่น:

 #define vectors of values
vector1 <- c(1, 2, 3, 4, 5, 6)
vector2 <- c(8, 6, 1, 10, 10, 15)

#find first occurrence of values in vector1 within vector2
match(vector1, vector2)

[1] 3 NA NA NA NA 2

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • การเกิดขึ้นครั้งแรกของค่า 1 ใน vector1 เกิดขึ้นที่ตำแหน่ง 3 ของ vector2
  • ค่า 2 ใน vector1 ไม่เคยปรากฏใน vector2
  • ค่า 3 ใน vector1 ไม่เคยปรากฏใน vector2
  • ค่า 4 ใน vector1 ไม่เคยปรากฏใน vector2
  • ค่า 5 ใน vector1 ไม่เคยปรากฏใน vector2
  • การเกิดขึ้นครั้งแรกของค่า 6 ใน vector1 เกิดขึ้นที่ตำแหน่ง 2 ของ vector2

โปรดทราบว่าเรายังสามารถระบุค่าอื่นเพื่อใช้ในกรณีที่ไม่มีค่าที่ตรงกันได้

ตัวอย่างเช่น เราสามารถคืนค่าเป็น 0 แทนที่จะเป็น NA:

 #define vectors of values
vector1 <- c(1, 2, 3, 4, 5, 6)
vector2 <- c(8, 6, 1, 10, 10, 15)

#find first occurrence of values in vector1 within vector2
match(vector1, vector2, nomatch= 0 )

[1] 3 0 0 0 0 2

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:

วิธีใช้ฟังก์ชัน summary() ใน R
วิธีใช้ฟังก์ชัน Replicate() ใน R
วิธีใช้ฟังก์ชัน gsub() ใน R
วิธีใช้ฟังก์ชัน par() ใน R

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

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