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


คุณสามารถใช้ฟังก์ชัน intersect() ในฐาน R เพื่อค้นหาจุดตัดกันของวัตถุสองชิ้น

“จุดตัด” เป็นเพียงตัวแทนองค์ประกอบที่วัตถุทั้งสองมีเหมือนกัน

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

 intersect(object1, object2)

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชัน intersect() กับเวกเตอร์และกรอบข้อมูล

ตัวอย่างที่ 1: ใช้ intersect() กับเวกเตอร์

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

 #define two vectors
x <- c(1, 4, 5, 5, 9, 12, 19)
y <- c(1, 2, 5, 5, 10, 14, 19)

#find intersection between two vectors
intersect(x,y)

[1] 1 5 19

จากผลลัพธ์เราจะเห็นว่าเวกเตอร์ x และ y มีค่าสามค่าที่เหมือนกัน: 1 , 5 และ 19 .

โปรดทราบว่าฟังก์ชัน intersect() ยังใช้ได้กับเวกเตอร์อักขระด้วย:

 #define two vectors
x <- c('A', 'B', 'C', 'D', 'E')
y <- c('C', 'D', 'E', 'F')

#find intersection between two vectors
intersect(x,y)

[1] “C” “D” “E”

จากผลลัพธ์ เราจะเห็นว่าเวกเตอร์ x และ y มีสายสามเส้นที่เหมือนกัน: C , D และ E

โปรดทราบว่าเวกเตอร์ทั้งสองไม่จำเป็นต้องมีความยาวเท่ากันเพื่อให้ฟังก์ชัน intersect() ทำงานได้

ตัวอย่างที่ 2: ใช้ intersect() กับกรอบข้อมูล

เพื่อที่จะค้นหาบรรทัดที่เฟรมข้อมูลทั้งสองมีเหมือนกัน เราจำเป็นต้องใช้ฟังก์ชัน intersect() จากแพ็คเกจ dplyr

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชันนี้เพื่อค้นหาแถวที่เฟรมข้อมูลสองเฟรมมีเหมือนกัน:

 library (dplyr) 

#define two data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  dots=c(12, 20, 25, 19))

df1

  team points
1 to 12
2 to 20
3 B 25
4 B 19

df2 <- data. frame (team=c('A', 'A', 'B', 'C'),
                  dots=c(12, 22, 25, 32))

df2

  team points
1 to 12
2 to 22
3 B 25
4 C 32

#find intersection between two data frames
dplyr::intersect(df1, df2)

  team points
1 to 12
2 B 25

จากผลลัพธ์เราจะเห็นว่ากรอบข้อมูลมีสองแถวเหมือนกัน

โปรดทราบว่าฟังก์ชัน intersect() นี้จะส่งคืนเฉพาะแถวที่มีค่าเท่ากันใน แต่ละ คอลัมน์ระหว่างสองเฟรมข้อมูล

โปรดทราบว่าเราสามารถใช้ฟังก์ชัน length() กับฟังก์ชัน intersect() เพื่อค้นหาจำนวนแถวที่เฟรมข้อมูลทั้งสองมีเหมือนกัน:

 #find number of rows in common between the two data frames
length(dplyr::intersect(df1, df2))

[1] 2

จากผลลัพธ์เราจะพบว่า data frame ทั้งสองมี 2 แถวเหมือนกัน

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

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

วิธีใช้ฟังก์ชัน dim() ใน R
วิธีใช้ฟังก์ชัน Transformer() ใน R
วิธีใช้ฟังก์ชัน swep() ใน R

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

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