Làm thế nào để sắp xếp một danh sách trong R? Sắp xếp hoặc Đặt hàng một danh sách trong R có thể được thực hiện bằng cách sử dụng lapply() chức năng hoặc sử dụng order() sau khi chuyển đổi thành một vectơ bằng cách sử dụng unlist().

Trong bài viết này, tôi sẽ giải thích cách gọi món danh sách các phần tử theo tên hoặc giá trị trong R và bằng cách áp dụng tăng dần hoặc giảm dần gọi món .

1. Ví dụ nhanh về Sắp xếp Danh sách

Sau đây là các ví dụ nhanh về sắp xếp danh sách theo tên hoặc giá trị trong R.

# Sort list in ascending  order 
sorted_li <- lapply(li,sort)

# Sort list in descending  order 
sorted_li <- lapply(li,sort,decreasing=TRUE)

# Sort named list
sorted_li <- li[ order (names(li))]

# Unlist and use  order ()
sorted_li <- li[ order ( unlist (li),decreasing=TRUE)]

2. R Sắp xếp giá trị danh sách theo tăng dần

Bằng cách sử dụng lapply() bạn có thể sắp xếp các giá trị của danh sách trong R bằng cách tăng dần gọi món , hàm này nhận danh sách làm đối số và từ khóa sắp xếp. Sau khi áp dụng cách sắp xếp trên danh sách, nó sẽ trả về danh sách có thứ tự. Điều này theo mặc định sắp xếp theo thứ tự tăng dần gọi món bạn cũng có thể buộc nó bằng cách sử dụng giảm dần = FALSE.

Nếu bạn có các ký tự trong danh sách, bạn sẽ thấy danh sách kết quả được sắp xếp theo thứ tự bảng chữ cái gọi món .

# Create list
li <- list(c(5,3,1,2,9,7))

# Sort list in ascending  order 
sorted_li <- lapply(li,sort)
sorted_li

# Output
#[[1]]
#[1] 1 2 3 5 7 9

3. R ​​Danh sách sắp xếp theo thứ tự giảm dần

Tương tự, sử dụng hàm giảm dần = TRUE to lapply () để sắp xếp danh sách theo thứ tự giảm dần gọi món trong R. Nếu bạn có một ký tự trong danh sách, nó sẽ sắp xếp Z thành A (theo thứ tự bảng chữ cái đảo ngược gọi món ).

# Sort list in descending  order 
sorted_li <- lapply(li,sort,decreasing=TRUE)
sorted_li

# Output
#[[1]]
#[1] 9 7 5 3 2 1

4. Sắp xếp danh sách theo tên

Để sắp xếp danh sách theo tên trong R, trước tiên hãy tạo danh sách được đặt tên và sử dụng order() chức năng sắp xếp. Lưu ý rằng khi bạn sắp xếp theo tên bằng cách sử dụng order() nó sắp xếp các tên nhưng không sắp xếp các giá trị.

# Create named list
li <- list(B = c(5,3,1,2,9,7),
           A = c(4,7,9,1,3,5),
           C = c(2,8,4,6,1,4))
li

# Sort named list
sorted_li <- li[ order (names(li))]
sorted_li

Sản lượng thấp hơn sản lượng.

r danh sách sắp xếp giảm dần

4. Sắp xếp Danh sách Danh sách

Để sắp xếp danh sách phức tạp sử dụng cấu trúc dữ liệu danh sách order()apply() các chức năng với nhau. Trong ví dụ của tôi, mỗi danh sách con chứa một số nguyên và một chuỗi ký tự, tôi sẽ gọi món danh sách sao cho danh sách cuối cùng được sắp xếp theo các số nguyên tăng dần gọi món .

# Sort list of list
A <- list(1,"Java")
B <- list(5, "Python")
C <- list(6, "R")
D <- list(2, "PHP")

li <- list(A,B,C,D)
li

# Sort list of list
sorted_li <- li[ order (sapply(li,'[[',1))]
sorted_li

Tôi sẽ để điều này cho bạn chạy và khám phá đầu ra.

6. Sắp xếp Danh sách theo sau unlist ()

Bạn cũng có thể sắp xếp danh sách theo thứ tự không niêm yết thành vectơ và sử dụng gọi món() hàm số. Ví dụ dưới đây sắp xếp danh sách theo thứ tự giảm dần gọi món .

  
# Unlist and use order()
li <- setNames(list(5,3,1,2,9,7),1:6)
sorted_li <- li[order( unlist (li),decreasing=TRUE)]
sorted_li
 

5. Kết luận

Hy vọng bạn thích bài viết này và có thể biết thêm Sắp xếp hoặc Danh sách Thứ tự trong R ?. Nếu tôi bỏ lỡ điều gì đó, hãy chia sẻ quan điểm của bạn trong phần bình luận bên dưới. Đăng ký cho signalfix.net bản tin để biết một số thủ thuật và mẹo hay.