วิธีจัดเรียงตามหลายคอลัมน์ใน r (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อจัดเรียงเฟรมข้อมูลระหว่างหลายคอลัมน์ใน R:

วิธีที่ 1: ใช้ Base R

 df[order(-df$column1, df$column2), ]

วิธีที่ 2: ใช้ dplyr

 library (dplyr)

df %>%
  arrange( desc (column1), column2)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
                 points=c(90, 90, 93, 91, 91, 99, 85),
                 assists=c(33, 28, 31, 39, 34, 40, 44))

#view data frame
df

  team points assists
1 A 90 33
2 B 90 28
3 C 93 31
4 D 91 39
5 E 91 34
6 F 99 40
7 G 85 44

วิธีที่ 1: ใช้ Base R

รหัสต่อไปนี้แสดงวิธีการจัดเรียงบล็อกข้อมูลแบบ R ตาม จุด จากมากไปน้อย (จากมากไปน้อย) จากนั้นตาม การช่วยจาก น้อยไปหามาก :

 #sort by points descending, then by assists ascending
df[order(-df$points, df$assists), ]

  team points assists
6 F 99 40
3 C 93 31
5 E 91 34
4 D 91 39
2 B 90 28
1 A 90 33
7 G 85 44

โปรดทราบว่าแถวในกรอบข้อมูลจะเรียงลำดับตามจุดจากมากไปน้อย จากนั้นจึงเรียงตามการช่วยเหลือจากน้อยไปใหญ่ที่สุด

วิธีที่ 2: ใช้ dplyr

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันในแพ็คเกจ dplyr เพื่อเรียงลำดับเฟรมข้อมูลตาม จุด จากมากไปน้อย (มากไปน้อย) จากนั้นตาม การช่วย จากน้อยไปหามาก :

 library (dplyr)

df %>%
  arrange( desc (dots), assists)

  team points assists
1 F 99 40
2 C 93 31
3 E 91 34
4 D 91 39
5 B 90 28
6 A 90 33
7 G 85 44

ขอย้ำอีกครั้งว่าแถวในกรอบข้อมูลจะเรียงลำดับตามจุดจากมากไปน้อย จากนั้นจึงเรียงตามการช่วยเหลือจากน้อยไปใหญ่ที่สุด

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน Arrange() ได้ที่นี่

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการดำเนินการเรียงลำดับทั่วไปอื่นๆ ใน R:

วิธีจัดเรียงค่าตามตัวอักษรใน R
วิธีจัดเรียง data frame ตามวันที่ใน R

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

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