Самый простой способ отсортировать фрейм данных по столбцу в 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