Как отсортировать фрейм данных по столбцу в 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 7b 3 3 8 c 4 4 3 d 5 5 2nd
Пример 1: сортировка по столбцу
Следующий код показывает, как сортировать фрейм данных по столбцу var1 как по возрастанию, так и по убыванию:
#sort by var1 ascending df[ order (df$var1), ] var1 var2 var3 1 1 7 a 2 3 7b 3 3 8 c 4 4 3 d 5 5 2nd #sort by var1 descending df[ order (-df$var1), ] var1 var2 var3 5 5 2nd 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 2nd
Пример 2. Сортировка по нескольким столбцам
Следующий код показывает, как отсортировать фрейм данных по нескольким столбцам:
#sort by var2 ascending, then var1 ascending df[ order (df$var2, df$var1), ] var1 var2 var3 5 5 2nd 4 4 3 d 1 1 7 a 2 3 7b 3 3 8 c #sort by var2 ascending, then var1 descending df[ order (df$var2, -df$var1), ] var1 var2 var3 5 5 2nd 4 4 3 d 2 3 7b 1 1 7 a 3 3 8 c
Дополнительные ресурсы
Как добавить столбец во фрейм данных в R
Как отсортировать кадр данных по дате в R
Как преобразовать символ в число в R