Как отсортировать фрейм данных по столбцу в R (с примерами)


Самый простой способ отсортировать фрейм данных по столбцу в R — использовать функцию order() :

#sort ascending
df[ order (df$var1), ]

#sort descending
df[ order (-df$var1), ]

В этом руководстве представлено несколько примеров того, как использовать эту функцию на практике со следующим фреймом данных:

#create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
 var2=c(7, 7, 8, 3, 2),
 var3=letters[1:5])

#view data frame
df

 var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2 e

Пример 1. Сортировка по одному столбцу

В следующем коде показано, как отсортировать фрейм данных по столбцу var1 как по возрастанию, так и по убыванию:

#sort by var1 ascending
df[ order (df$var1), ]

 var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2 e

#sort by var1 descending
df[ order (-df$var1), ]

 var1 var2 var3
5 5 2 e
4 4 3 d
2 3 7 b
3 3 8 c
1 1 7 a

Обратите внимание, что мы также можем сортировать по вектору символов в алфавитном порядке:

#sort by var3 ascending
df[ order (df$var3), ]

 var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2 e

Пример 2. Сортировка по нескольким столбцам

В следующем коде показано, как отсортировать фрейм данных по нескольким столбцам:

#sort by var2 ascending, then var1 ascending
df[ order (df$var2, df$var1), ]

 var1 var2 var3
5 5 2 e
4 4 3 d
1 1 7 a
2 3 7 b
3 3 8 c

#sort by var2 ascending, then var1 descending
df[ order (df$var2, -df$var1), ]

 var1 var2 var3
5 5 2 e
4 4 3 d
2 3 7 b
1 1 7 a
3 3 8 c

Дополнительные ресурсы

Как добавить столбец во фрейм данных в R
Как отсортировать фрейм данных по дате в R
Как преобразовать символ в число в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.