วิธีเปรียบเทียบเวกเตอร์สองตัวใน r (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเปรียบเทียบเวกเตอร์สองตัวใน R:
#check if two vectors are identical identical(vector_1, vector_2) #display items that are in both vectors intersect(vector_1, vector_2) #display items that are only in first vector, but not in second vector setdiff(vector_1, vector_2)
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่างที่ 1: ตรวจสอบว่าเวกเตอร์สองตัวเหมือนกันหรือไม่
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน เหมือนกัน () เพื่อตรวจสอบว่าเวกเตอร์สองตัวเหมือนกันหรือไม่:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#check if two vectors are identical
identical(vector_1, vector_2)
[1] FALSE
เวกเตอร์ทั้งสองไม่เหมือนกัน ดังนั้นจะส่งคืนค่า FALSE
ตัวอย่างที่ 2: ค้นหาองค์ประกอบที่มีอยู่ในเวกเตอร์ทั้งสอง
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน intersect() เพื่อแสดงองค์ประกอบที่มีอยู่ในเวกเตอร์ทั้งสอง:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in both vectors
intersect(vector_1, vector_2)
[1] “Bob” “Carl” “Doug”
องค์ประกอบทั้งสามที่มีอยู่ในเวกเตอร์ทั้งสองจะปรากฏขึ้น
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน length() ได้หากต้องการทราบว่ามีองค์ประกอบ จำนวนเท่าใด ในเวกเตอร์ทั้งสอง:
#find how many items exist in both vectors
length(intersect(vector_1, vector_2))
[1] 3
มีองค์ประกอบสามองค์ประกอบอยู่ในเวกเตอร์ทั้งสอง
ตัวอย่างที่ 3: ค้นหาองค์ประกอบที่มีอยู่ในเวกเตอร์เดียวเท่านั้น
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน setdiff() เพื่อแสดงองค์ประกอบที่มีอยู่ในเวกเตอร์แรก แต่ไม่ใช่ในเวกเตอร์ที่สอง:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in first vector, but not in second vector
setdiff(vector_1, vector_2)
[1] “Andy”
มีองค์ประกอบเดียวในเวกเตอร์แรกที่ไม่มีอยู่ในเวกเตอร์ที่สอง
เราสามารถกลับเวกเตอร์ทั้งสองเพื่อระบุองค์ประกอบที่มีอยู่ในเวกเตอร์ที่สอง แต่ไม่ใช่ในเวกเตอร์แรก:
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in second vector, but not in first vector
setdiff(vector_2, vector_1)
[1] “Ethan” “Fred”
มีองค์ประกอบสององค์ประกอบในเวกเตอร์ที่สองซึ่งไม่มีอยู่ในเวกเตอร์แรก
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีเปรียบเทียบสองคอลัมน์ใน R
วิธีเปรียบเทียบสตริงใน R
วิธีเพิ่มค่าให้กับเวกเตอร์โดยใช้การวนซ้ำใน R