วิธีเปรียบเทียบสองคอลัมน์ใน 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