Як сортувати за кількома стовпцями в 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
Як відсортувати кадр даних за датою в R