Jak sortować według wielu kolumn w r (z przykładami)
Do sortowania ramki danych w wielu kolumnach w języku R można użyć dowolnej z następujących metod:
Metoda 1: Użyj podstawy R
df[order(-df$column1, df$column2), ]
Metoda 2: użyj dplyr
library (dplyr) df %>% arrange( desc (column1), column2)
Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującą ramką danych:
#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
Metoda 1: Użyj podstawy R
Poniższy kod pokazuje, jak posortować blok danych oparty na R według punktów malejących (od największego do najmniejszego), a następnie według asyst rosnących:
#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
Należy pamiętać, że wiersze w ramce danych są uporządkowane według punktów od największego do najmniejszego, a następnie według asyst od najmniejszego do największego.
Metoda 2: użyj dplyr
Poniższy kod pokazuje, jak używać funkcji pakietu dplyr do sortowania ramki danych według punktów malejących (od największego do najmniejszego), a następnie według asysty rosnącej:
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
Ponownie wiersze w ramce danych są uporządkowane według punktów od największego do najmniejszego, a następnie według asyst od najmniejszego do największego.
Uwaga : pełną dokumentację funkcji aranżacji() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje sortowania w R:
Jak sortować wartości alfabetycznie w R
Jak posortować ramkę danych według daty w R