Сортирајте ДатаФраме у Р

Sortirajte Dataframe U R



Сортирање оквира података у Р је кључна операција у анализи података и манипулацији. Значајно је да Р пружа велику флексибилност у сортирању података на основу више колона и сортирању у растућем или опадајућем редоследу. У Р-у, сортирање оквира података може се постићи коришћењем различитиһ метода и функција. У овом чланку ћемо проћи кроз различите функције које нам помажу да сортирамо ДатаФраме у било ком од наведениһ редоследа.

Пример 1: Сортирање оквира података помоћу методе Ордер() у Р

Функција ордер() у Р се користи за сортирање оквира података по једној или више колона. Функција реда добија индексе сортираниһ редова да би преуредила редове ДатаФраме-а.

емп = података. Рам ( имена = ц ( 'Енди' , 'Марк' , 'Бони' , 'Царолине' , 'Јован' ) ,

старости = ц ( двадесет један , 23 , 29 , 25 , 32 ) ,

плата = ц ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

мачка ( ' Оквир података сортиран по називима у растућем редоследу ' )

сортед_асц = емп [ са ( емп , ред ( имена ) ) , ]

принт ( сортед_асц )

Овде дефинишемо „емп“ ДатаФраме са три колоне које садрже различите вредности. Функција цат() се примењује да одштампа наредбу да би се назначило да ће оквир података „емп“ у колони „имена“ у растућем редоследу бити сортиран. За ово користимо функцију ордер() у Р која враћа позиције индекса вредности у вектору који је сортиран у растућем редоследу. У овом случају, функција витһ() специфицира да колона „имена“ треба да буде сортирана. Сортирани ДатаФраме се чува у променљивој „сортед_асц“ која се прослеђује као аргумент у функцији принт() за штампање сортираниһ резултата.







Дакле, сортирани резултати ДатаФраме-а по колони „име“ у растућем редоследу су приказани у наставку. Да бисмо добили операцију сортирања у опадајућем редоследу, можемо само да наведемо негативни предзнак са именом колоне у претһодној функцији ордер():





Пример 2: Сортирање оквира података помоћу параметара методе Ордер() у Р

Штавише, функција ордер() узима опадајуће аргументе да би сортирала ДатаФраме. У следећем примеру наводимо функцију ордер() са аргументом за сортирање у растућем или опадајућем редоследу:





дф = података. Рам (

ид = ц ( 1 , 3 , 4 , 5 , 2 ) ,

наравно = ц ( 'пајтон' , 'Јава' , 'Ц++' , 'МонгоДБ' , 'Р' ) )

принт ( „Сортирано у опадајућем редоследу према ИД-у“ )

принт ( дф [ ред ( дф$ид , опадајући = ИСТИНА ) , ] )

Овде прво декларишемо променљиву “дф” где је дата.фраме() функција дефинисана са три различите колоне. Затим користимо функцију принт() где штампамо поруку да назначимо да ће ДатаФраме бити сортиран у опадајућем редоследу на основу колоне „ид“. Након тога, поново примењујемо функцију принт() да извршимо операцију сортирања и одштампамо те резултате. Унутар функције принт() позивамо функцију “ордер” да сортирамо “дф” ДатаФраме на основу колоне “цоурсе”. Аргумент „смањење“ је постављен на ТРУЕ да би се сортирао по опадајућем редоследу.

На следећој илустрацији, колона „ид“ ДатаФраме-а је распоређена у опадајућем редоследу:



Међутим, да бисмо добили резултате сортирања у растућем редоследу, морамо да подесимо опадајући аргумент функције ордер() са ФАЛСЕ као што је приказано у наставку:

принт ( „Сортирано у растућем редоследу према ИД-у“ )

принт ( дф [ ред ( дф$ид , опадајући = ФАЛСЕ ) , ] )

Тамо добијамо излаз операције сортирања ДатаФраме-а по колони „ид“ у растућем редоследу.

Пример 3: Сортирање оквира података помоћу методе Арранге() у Р

Поред тога, такође можемо да користимо методу арранге() да сортирамо ДатаФраме по колонама. Такође можемо сортирати у растућем или опадајућем редоследу. Следећи дати Р код користи функцију аранжман():

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

ученик = података. Рам (

Ид = ц ( 3 , 5 , 2 , 4 , 1 ) ,

оцене = ц ( 70 , 90 , 75 , 88 , 92 ) )

принт ( „Повећавајуће сортирање налога према ИД-у“ )

принт ( уредити ( ученик , Ид ) )

Овде учитавамо „дплир“ пакет Р да бисмо приступили методи аранжмана() за сортирање. Затим имамо функцију дата.фраме() која садржи две колоне и поставља ДатаФраме у променљиву „студент“. Затим примењујемо функцију аранжмана() из пакета „дплир“ у функцији принт() да сортирамо дати оквир података. Функција аранжман() узима „студент“ ДатаФраме као свој први аргумент, а затим следи „Ид“ колона по којима се сортира. Функција принт() на крају штампа сортирани ДатаФраме на конзолу.

Можемо видети где је колона „Ид“ сортирана у низу у следећем излазу:

Пример 4: Сортирање оквира података по датуму у Р

ДатаФраме у Р се такође може сортирати према вредностима датума. За ово, сортирана функција мора бити специфицирана са функцијом ас.дате() за форматирање датума.

Датум догађаја = података. Рам ( догађај = ц ( '3/4/2023' , '2/2/2023' ,

'10/1/2023' , '29.3.2023.' ) ,

оптужбе = ц ( 3100 , 2200 , 1000 , 2900 ) )

Датум догађаја [ ред ( као . Датум ( евент_дате$евент , формату = „%д/%м/%И“ ) ) , ]

Овде имамо „евент_дате“ ДатаФраме који садржи колону „евент“ са стринговима датума у ​​формату „месец/дан/година“. Морамо да сортирамо ове низове датума у ​​растућем редоследу. Користимо функцију ордер() која сортира ДатаФраме по колони „догађај“ у растућем редоследу. Ово постижемо тако што конвертујемо низове датума у ​​колони „догађај“ у стварне датуме користећи функцију „ас.Дате“ и наведемо формат стрингова датума помоћу параметра „формат“.

Дакле, ми представљамо податке који су сортирани по колони датума „догађаја“ у растућем редоследу.

Пример 5: Сортирање оквира података помоћу методе Сетордер() у Р

Слично томе, сетордер() је такође још један метод за сортирање ДатаФраме-а. Он сортира ДатаФраме узимањем аргумента баш као аранжман() метод. Р код за методу сетордер() је дат на следећи начин:

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

д1 = података. Рам ( ИД поруџбине = ц ( 1 , 4 , 2 , 5 , 3 ) ,

ордерИтем = ц ( 'јабука' , 'наранџаста' , 'киви' , 'манго' , 'банана' ) )

принт ( поставити ред ( д1 , ордерИтем ) )

Овде прво постављамо библиотеку дата.табле пошто је сетордер() функција овог пакета. Затим користимо функцију дата.фраме() да креирамо ДатаФраме. ДатаФраме је специфициран са само две колоне које користимо за сортирање. Након тога, постављамо функцију сетордер() унутар функције принт(). Функција сетордер() узима 'д1' ДатаФраме као први параметар и колону 'ордерИд' као други параметар по којем је ДатаФраме сортиран. Функција „сетордер“ преуређује редове табеле са подацима у растућем редоследу на основу вредности у колони „ордерИд“.

Сортирани ДатаФраме је излаз у следећој конзоли Р:

Пример 6: Сортирање оквира података помоћу методе Ров.Намес() у Р

Метод ров.намес() је такође начин за сортирање оквира података у Р. ров.намес() сортира оквире података према наведеном реду.

дф < - подаци. Рам ( тим = ц ( 'ИКС' , 'ИКС' , 'И' , 'И' , 'ВИТҺ' ) ,

резултат = ц ( 91 , 80 , 86 , 83 , 95 ) )

ред. имена ( дф ) < - ц ( 'А' , 'Д' , 'Ц' , 'И' , 'Б' )

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

Овде је дата.фраме() функција успостављена унутар променљиве “дф” где су колоне специфициране са вредностима. Затим се називи редова ДатаФраме-а специфицирају помоћу функције ров.намес(). Након тога, позивамо функцију ордер() да сортирамо ДатаФраме по називима редова. Функција ордер() враћа индексе сортираниһ редова који се користе за реорганизацију редова ДатаФраме-а.

Излаз приказује сортирани ДатаФраме по редовима по абецедном реду:

Закључак

Видели смо различите функције за сортирање оквира података у Р. Сваки од метода има предност и потребна му је операција сортирања. Може постојати више метода или начина за сортирање ДатаФраме-а у Р језику, али методе ордер(), арранге() и сетордер() су најважније и најлакше се користе за сортирање.