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


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

วิธีที่ 1: เรียงลำดับเมทริกซ์โดยเพิ่มหนึ่งคอลัมน์

 sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]

วิธีที่ 2: เรียงลำดับเมทริกซ์โดยการลดหนึ่งคอลัมน์

 sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]

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

 #create matrix
my_matrix <- matrix(c(5, 4, 2, 2, 7, 9, 12, 10, 15, 4, 6, 3), ncol= 2 )

#view matrix
my_matrix

     [,1] [,2]
[1,] 5 12
[2,] 4 10
[3,] 2 15
[4,] 2 4
[5,] 7 6
[6,] 9 3

ตัวอย่างที่ 1: จัดเรียงเมทริกซ์โดยเพิ่มหนึ่งคอลัมน์

รหัสต่อไปนี้แสดงวิธีเรียงลำดับเมทริกซ์โดยการเพิ่มค่าตามคอลัมน์แรก:

 #sort matrix by first column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3

โปรดทราบว่าขณะนี้เมทริกซ์ถูกจัดเรียงตามค่าที่เพิ่มขึ้นตามคอลัมน์แรก

เราสามารถจัดเรียงได้อย่างง่ายดายโดยการเพิ่มค่าตามคอลัมน์ที่สองโดยเปลี่ยน 1 เป็น 2 :

 #sort matrix by second column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 2]), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 9 3
[2,] 2 4
[3,] 7 6
[4,] 4 10
[5,] 5 12
[6,] 2 15

ขณะนี้เมทริกซ์ถูกจัดเรียงตามค่าที่เพิ่มขึ้นตามคอลัมน์ที่สอง

ตัวอย่างที่ 2: จัดเรียงเมทริกซ์โดยการลดหนึ่งคอลัมน์

รหัสต่อไปนี้แสดงวิธีเรียงลำดับเมทริกซ์โดยการลดค่าตามคอลัมน์แรก:

 #sort matrix by first column decreasing
sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3

โปรดทราบว่าขณะนี้เมทริกซ์ถูกจัดเรียงโดยการลดค่าตามคอลัมน์แรก

ที่เกี่ยวข้อง : คู่มือฉบับสมบูรณ์สำหรับการเรียงลำดับ () คำสั่งซื้อ () และอันดับ () ใน R

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

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

วิธีจัดเรียงค่าตามตัวอักษรใน R
วิธีจัดเรียง dataframe ตามวันที่ใน R
วิธีจัดเรียงตามหลายคอลัมน์ใน R

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

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