Сортировка DataFrame в R

Sortirovka Dataframe V R



Сортировка DataFrames в R является важной операцией в анализе данных и манипулировании ими. Примечательно, что R обеспечивает большую гибкость при сортировке данных по нескольким столбцам и сортировке по возрастанию или убыванию. В R сортировка кадров данных может выполняться с использованием различных методов и функций. В этой статье мы рассмотрим различные функции, которые помогают нам сортировать DataFrame в любом из указанных порядков.

Пример 1: Сортировка DataFrame с использованием метода Order() в R

Функция order() в R используется для сортировки DataFrames по одному или нескольким столбцам. Функция порядка получает индексы отсортированных строк, чтобы переупорядочить строки DataFrame.

эмп '=' данные. рамка ( имена '=' с ( 'Энди' , 'Отметка' , 'Бонни' , 'Кэролайн' , 'Джон' ) ,

возраст '=' с ( двадцать один , 23 , 29 , 25 , 32 ) ,

зарплата '=' с ( 2000 г. , 1000 , 1500 , 3000 , 2500 ) )

кот ( ' \n \n Фрейм данных, отсортированный по именам в порядке возрастания \n ' )

sorted_asc '=' эмп [ с ( эмп , заказ ( имена ) ) , ]

Распечатать ( sorted_asc )

Здесь мы определяем DataFrame «emp» с тремя столбцами, содержащими разные значения. Функция cat() развертывается для печати инструкции, чтобы указать, что кадр данных «emp» по столбцу «имена» в порядке возрастания будет отсортирован. Для этого мы используем функцию order() в R, которая возвращает позиции индексов значений в векторе, отсортированном в порядке возрастания. В этом случае функция with() указывает, что столбец «имена» должен быть отсортирован. Отсортированный кадр данных хранится в переменной sorted_asc, которая передается в качестве аргумента в функцию print() для печати отсортированных результатов.







Следовательно, отсортированные результаты DataFrame по столбцу «имена» в порядке возрастания отображаются ниже. Чтобы получить операцию сортировки в порядке убывания, мы можем просто указать знак минус с именем столбца в предыдущей функции order():





Пример 2: Сортировка DataFrame с использованием параметров метода Order() в R

Кроме того, функция order() принимает уменьшающиеся аргументы для сортировки DataFrame. В следующем примере мы указываем функцию order() с аргументом для сортировки в возрастающем или убывающем порядке:





дф '=' данные. рамка (

идентификатор '=' с ( 1 , 3 , 4 , 5 , 2 ) ,

курс '=' с ( 'Питон' , 'Джава' , 'С++' , 'МонгоДБ' , 'Р' ) )

Распечатать ( 'Отсортировано в порядке убывания по идентификатору' )

Распечатать ( дф [ заказ ( df$id , уменьшение '=' истинный ) , ] )

Здесь мы сначала объявляем переменную «df», где функция data.frame() определена с тремя разными столбцами. Затем мы используем функцию print(), в которой мы печатаем сообщение, чтобы указать, что DataFrame будет отсортирован в порядке убывания на основе столбца «id». После этого мы снова запускаем функцию print(), чтобы провести операцию сортировки и распечатать эти результаты. Внутри функции print () мы вызываем функцию «order» для сортировки DataFrame «df» на основе столбца «курс». Аргумент «по убыванию» устанавливается в значение TRUE для сортировки в порядке убывания.

На следующем рисунке столбец «id» DataFrame расположен в порядке убывания:



Однако, чтобы получить результаты сортировки в порядке возрастания, мы должны установить для убывающего аргумента функции order() значение FALSE, как показано ниже:

Распечатать ( 'Отсортировано в порядке возрастания по идентификатору' )

Распечатать ( дф [ заказ ( df$id , уменьшение '=' ЛОЖЬ ) , ] )

Там мы получаем вывод операции сортировки DataFrame по столбцу «id» в порядке возрастания.

Пример 3: Сортировка DataFrame с использованием метода Arrange() в R

Кроме того, мы также можем использовать методrange() для сортировки DataFrame по столбцам. Мы также можем сортировать в порядке возрастания или убывания. В приведенном ниже коде R используется функция аранжировки():

библиотека ( 'дплир' )

студент '=' данные. рамка (

Идентификатор '=' с ( 3 , 5 , 2 , 4 , 1 ) ,

Метки '=' с ( 70 , 90 , 75 , 88 , 92 ) )

Распечатать ( 'Увеличение сортировки по идентификатору' )

Распечатать ( договариваться ( студент , Идентификатор ) )

Здесь мы загружаем пакет «dplyr» R, чтобы получить доступ к методу сортировки (arrange()). Затем у нас есть функция data.frame(), которая содержит два столбца и устанавливает DataFrame в переменную «student». Затем мы развертываем функцию организовать () из пакета «dplyr» в функцию печати (), чтобы отсортировать данный DataFrame. Функция аранжировки() принимает в качестве первого аргумента «студенческий» DataFrame, за которым следует «идентификатор» столбцов для сортировки. Функция print() в конце выводит отсортированный DataFrame на консоль.

Мы можем видеть, где столбец «Id» отсортирован в последовательности в следующем выводе:

Пример 4: сортировка DataFrame по дате в R

DataFrame в R также можно сортировать по значениям даты. Для этого функция sorted должна быть указана с функцией as.date() для форматирования дат.

Дата события '=' данные. рамка ( событие '=' с ( '04.03.2023' , '02.02.2023' ,

'01.10.2023' , '29.03.2023' ) ,

обвинения '=' с ( 3100 , 2200 , 1000 , 2900 ) )

Дата события [ заказ ( как . Дата ( event_date$событие , формат '=' '%d/%m/%Y' ) ) , ]

Здесь у нас есть DataFrame «event_date», который содержит столбец «event» со строками даты в формате «месяц/день/год». Нам нужно отсортировать эти строки даты в порядке возрастания. Мы используем функцию order(), которая сортирует DataFrame по столбцу «событие» в порядке возрастания. Мы достигаем этого путем преобразования строк даты в столбце «событие» в фактические даты с помощью функции «as.Date» и указания формата строк даты с помощью параметра «формат».

Таким образом, мы представляем данные, отсортированные по столбцу даты «событие» в порядке возрастания.

Пример 5: Сортировка DataFrame с использованием метода Setorder() в R

Точно так же setorder() также является еще одним методом сортировки DataFrame. Он сортирует DataFrame, принимая аргумент точно так же, как метод аранжировки(). Код R для метода setorder() выглядит следующим образом:

библиотека ( 'Таблица данных' )

d1 '=' данные. рамка ( номер заказа '=' с ( 1 , 4 , 2 , 5 , 3 ) ,

заказЭлемент '=' с ( 'яблоко' , 'апельсин' , 'киви' , 'манго' , 'банан' ) )

Распечатать ( установить порядок ( d1 , заказЭлемент ) )

Здесь мы сначала устанавливаем библиотеку data.table, так как setorder() является функцией этого пакета. Затем мы используем функцию data.frame() для создания DataFrame. DataFrame указан только с двумя столбцами, которые мы используем для сортировки. После этого мы устанавливаем функцию setorder() внутри функции print(). Функция setorder() принимает DataFrame «d1» в качестве первого параметра и столбец «orderId» в качестве второго параметра, по которому сортируется DataFrame. Функция «setorder» переставляет строки таблицы данных в порядке возрастания на основе значений в столбце «orderId».

Отсортированный DataFrame является выводом в следующей консоли R:

Пример 6: Сортировка DataFrame с использованием метода Row.Names() в R

Метод row.names() также является способом сортировки DataFrame в R. Метод row.names() сортирует DataFrames по указанной строке.

дф < - данные. рамка ( команда '=' с ( 'ИКС' , 'ИКС' , 'И' , 'И' , 'С' ) ,

счет '=' с ( 91 , 80 , 86 , 83 , 95 ) )

ряд. имена ( дф ) < - с ( «А» , 'Д' , 'С' , 'И' , 'Б' )

дф [ заказ ( ряд. имена ( дф ) ) , ]

Здесь функция data.frame() устанавливается в переменной «df», где столбцы указываются со значениями. Затем имена строк DataFrame указываются с помощью функции row.names(). После этого мы вызываем функцию order() для сортировки DataFrame по именам строк. Функция order() возвращает индексы отсортированных строк, которые используются для реорганизации строк DataFrame.

Вывод показывает отсортированный DataFrame по строкам в алфавитном порядке:

Заключение

Мы видели различные функции для сортировки DataFrames в R. Каждый из методов имеет преимущество и требует операции сортировки. Может быть больше методов или способов сортировки DataFrame на языке R, но методы order(), аранжировка() и setorder() являются наиболее важными и простыми в использовании для сортировки.