วิธีเปรียบเทียบสองคอลัมน์ใน r: พร้อมตัวอย่าง


บ่อยครั้งคุณอาจต้องการเปรียบเทียบสองคอลัมน์ใน R และเขียนผลการเปรียบเทียบไปยังคอลัมน์ที่สาม

คุณสามารถทำได้โดยใช้ไวยากรณ์ต่อไปนี้:

 df$ new_col <- ifelse (df$ col1 > df$ col2 , ' A ',
ifelse (df$ col1 < df$ col2 , ' B ', ' C '))

โค้ดบรรทัดเดียวนี้ทำหน้าที่ดังต่อไปนี้:

  • หากคอลัมน์ 1 มากกว่าคอลัมน์ 2 ให้เขียน “A” เป็นเอาต์พุตในคอลัมน์ที่สาม
  • มิฉะนั้น หากคอลัมน์ 1 น้อยกว่าคอลัมน์ 2 ให้เขียน “B” เป็นเอาต์พุต
  • มิฉะนั้น ให้เขียน “C” เป็นเอาต์พุต

ตัวอย่างต่อไปนี้แสดงวิธีใช้โค้ดนี้ในทางปฏิบัติ

ตัวอย่าง: เปรียบเทียบสองคอลัมน์ใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ซึ่งแสดงจำนวนประตูที่ทีมฟุตบอลสองทีมทำได้ในห้านัดที่ต่างกัน:

 #create data frame
df <- data.frame(A_points=c(1, 3, 3, 3, 5),
                 B_points=c(4, 5, 2, 3, 2))

#view data frame
df

  A_points B_points
1 1 4
2 3 5
3 3 2
4 3 3
5 5 2

เราสามารถใช้โค้ดต่อไปนี้เพื่อเปรียบเทียบจำนวนประตูต่อแถวและแสดงผู้ชนะการแข่งขันในคอลัมน์ที่สาม:

 #compare A_points and B_points and output results to new column titled winner
df$winner <- ifelse (df$A_points > df$B_points, ' A ',
               ifelse (df$A_points < df$B_points, ' B ', ' Tie '))

#view data frame
df

  A_points B_points winner
1 1 4 B
2 3 5 B
3 3 2 A
4 3 3 Tie
5 5 2 A

ผลลัพธ์การเปรียบเทียบจะแสดงในคอลัมน์ใหม่ที่เรียกว่า ผู้ชนะ

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

วิธีซ้อนคอลัมน์ data frame ใน R
วิธีรวมสองคอลัมน์เป็นคอลัมน์เดียวใน R
วิธีวนซ้ำชื่อคอลัมน์ใน R

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

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