Zoraďte DataFrame v R

Zoradte Dataframe V R



Triedenie dátových rámcov v R je kľúčovou operáciou pri analýze dát a manipulácii s nimi. Významné je, že R poskytuje veľkú flexibilitu pri triedení údajov na základe viacerých stĺpcov a triedení vo vzostupnom alebo zostupnom poradí. V R je možné triedenie dátových rámcov vykonať pomocou rôznych metód a funkcií. V tomto článku si prejdeme rôzne funkcie, ktoré nám pomôžu zoradiť DataFrame v ľubovoľnom zo zadaných poradí.

Príklad 1: Triedenie dátového rámca pomocou metódy Order() v R

Funkcia order() v R sa používa na triedenie dátových rámov podľa jedného alebo viacerých stĺpcov. Funkcia order získa indexy zoradených riadkov na preusporiadanie riadkov DataFrame.

emp = údajov. rám ( mená = c ( 'Andy' , 'značka' , 'Bonnie' , 'Caroline' , 'John' ) ,

Vek = c ( dvadsaťjeden , 23 , 29 , 25 , 32 ) ,

plat = c ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

kat ( ' \n \n Dátový rámec Zoradený podľa názvov vzostupne \n ' )

zoradené_vzostupne = emp [ s ( emp , objednať ( mená ) ) , ]

vytlačiť ( zoradené_vzostupne )

Tu definujeme „emp“ DataFrame s tromi stĺpcami obsahujúcimi rôzne hodnoty. Funkcia cat() je nasadená na vytlačenie výpisu, ktorý indikuje, že „emp“ DataFrame podľa stĺpca „names“ vo vzostupnom poradí sa bude triediť. Na tento účel používame funkciu order() v R, ktorá vracia indexové pozície hodnôt vo vektore, ktorý je zoradený vzostupne. V tomto prípade funkcia with() určuje, že stĺpec „names“ by sa mal triediť. Zoradený DataFrame je uložený v premennej „sorted_asc“, ktorá je odovzdaná ako argument vo funkcii print() na vytlačenie zoradených výsledkov.







V nasledujúcom texte sa teda zobrazia zoradené výsledky dátového rámca podľa stĺpca „names“ vo vzostupnom poradí. Ak chcete získať operáciu zoradenia v zostupnom poradí, stačí zadať záporné znamienko s názvom stĺpca v predchádzajúcej funkcii order():





Príklad 2: Triedenie dátového rámca pomocou parametrov metódy Order() v R

Okrem toho funkcia order() používa klesajúce argumenty na zoradenie DataFrame. V nasledujúcom príklade špecifikujeme funkciu order() s argumentom na zoradenie vo vzostupnom alebo zostupnom poradí:





df = údajov. rám (

id = c ( 1 , 3 , 4 , 5 , 2 ) ,

kurz = c ( 'Python' , 'Java' , 'C++' , 'MongoDB' , 'R' ) )

vytlačiť ( 'Zoradené v zostupnom poradí podľa ID' )

vytlačiť ( df [ objednať ( df$id , klesajúci = PRAVDA ) , ] )

Tu najprv deklarujeme premennú „df“, kde je funkcia data.frame() definovaná s tromi rôznymi stĺpcami. Ďalej použijeme funkciu print(), kde vytlačíme správu, ktorá indikuje, že DataFrame sa bude triediť v zostupnom poradí na základe stĺpca „id“. Potom znova nasadíme funkciu print(), aby sme vykonali operáciu triedenia a vytlačili tieto výsledky. Vo vnútri funkcie print() voláme funkciu „order“, aby sme zoradili DataFrame „df“ na základe stĺpca „kurz“. Argument „zníženie“ je nastavený na hodnotu TRUE, aby sa zoradilo v zostupnom poradí.

Na nasledujúcom obrázku je stĺpec „id“ DataFrame usporiadaný v zostupnom poradí:



Aby sme však získali výsledky zoradenia vo vzostupnom poradí, musíme nastaviť klesajúci argument funkcie order() na hodnotu FALSE, ako je uvedené nižšie:

vytlačiť ( 'Zoradené v rastúcom poradí podľa ID' )

vytlačiť ( df [ objednať ( df$id , klesajúci = FALSE ) , ] )

Tam dostaneme výstup operácie triedenia DataFrame podľa stĺpca „id“ vo vzostupnom poradí.

Príklad 3: Triedenie dátového rámca pomocou metódy Arrange() v R

Okrem toho môžeme použiť metódu usporiadať () na triedenie dátového rámca podľa stĺpcov. Môžeme tiež triediť vzostupne alebo zostupne. Nasledujúci R kód používa funkciu usporiadať ():

knižnica ( 'dplyr' )

študent = údajov. rám (

Id = c ( 3 , 5 , 2 , 4 , 1 ) ,

známky = c ( 70 , 90 , 75 , 88 , 92 ) )

vytlačiť ( 'Zvýšenie triedenia objednávok podľa ID' )

vytlačiť ( zariadiť ( študent , Id ) )

Tu načítame balík „dplyr“ R, aby sme získali prístup k metóde usporiadania () na triedenie. Potom máme funkciu data.frame(), ktorá obsahuje dva stĺpce a nastavíme DataFrame do premennej „student“. Ďalej nasadíme funkciu aranž () z balíka „dplyr“ do funkcie print() na zoradenie daného DataFrame. Funkcia usporiadať () berie ako prvý argument „študentský“ DataFrame, za ktorým nasleduje „Id“ stĺpcov, podľa ktorých sa má triediť. Funkcia print() na konci vytlačí roztriedený DataFrame do konzoly.

V nasledujúcom výstupe vidíme, kde je stĺpec „Id“ zoradený v poradí:

Príklad 4: Triedenie dátového rámca podľa dátumu v R

DataFrame v R možno triediť aj podľa hodnôt dátumu. Na tento účel musí byť funkcia triedenia špecifikovaná pomocou funkcie as.date() na formátovanie dátumov.

dátum udalosti = údajov. rám ( udalosť = c ( '3/4/2023' , 2/2/2023 ,

'10/1/2023' , '3/29/2023' ) ,

poplatky = c ( 3100 , 2200 , 1000 , 2900 ) )

dátum udalosti [ objednať ( ako . Dátum ( event_date$udalosť , formát = '%d/%m/%Y' ) ) , ]

Tu máme DataFrame „event_date“, ktorý obsahuje stĺpec „event“ s reťazcami dátumu vo formáte „mesiac/deň/rok“. Tieto dátumové reťazce musíme zoradiť vzostupne. Používame funkciu order(), ktorá triedi DataFrame podľa stĺpca „udalosť“ vo vzostupnom poradí. Dosiahneme to konverziou dátumových reťazcov v stĺpci „udalosť“ na skutočné dátumy pomocou funkcie „as.Date“ a špecifikovaním formátu dátumových reťazcov pomocou parametra „formát“.

Údaje, ktoré sú zoradené podľa stĺpca dátumu „udalosti“, teda predstavujeme vzostupne.

Príklad 5: Triedenie dátového rámca pomocou metódy Setorder() v R

Podobne, setorder() je tiež ďalšou metódou na triedenie dátového rámca. Triedi DataFrame prevzatím argumentu rovnako ako metóda usporiadať(). R kód pre metódu setorder() je daný takto:

knižnica ( 'data.table' )

d1 = údajov. rám ( Číslo objednávky = c ( 1 , 4 , 2 , 5 , 3 ) ,

orderItem = c ( 'jablko' , 'oranžový' , 'kiwi' , 'mango' , 'banán' ) )

vytlačiť ( nastaviť poradie ( d1 , orderItem ) )

Tu nastavíme knižnicu data.table ako prvú, pretože funkciou tohto balíka je setorder(). Potom použijeme funkciu data.frame() na vytvorenie DataFrame. DataFrame je špecifikovaný iba s dvoma stĺpcami, ktoré používame na triedenie. Potom nastavíme funkciu setorder() v rámci funkcie print(). Funkcia setorder() berie DataFrame „d1“ ako prvý parameter a stĺpec „orderId“ ako druhý parameter, podľa ktorého je DataFrame zoradený. Funkcia „setorder“ preusporiada riadky tabuľky s údajmi vo vzostupnom poradí na základe hodnôt v stĺpci „orderId“.

Zoradený DataFrame je výstupom v nasledujúcej konzole R:

Príklad 6: Triedenie dátového rámca pomocou metódy Row.Names() v R

Metóda row.names() je tiež spôsob, ako triediť DataFrame v R. Riadok.names() triedi DataFrames podľa zadaného riadka.

df < - údaje. rám ( tím = c ( 'X' , 'X' , „A“ , „A“ , „S“ ) ,

skóre = c ( 91 , 80 , 86 , 83 , 95 ) )

riadok. mená ( df ) < - c ( 'A' , 'D' , 'C' , „A“ , 'B' )

df [ objednať ( riadok. mená ( df ) ) , ]

Tu je funkcia data.frame() vytvorená v rámci premennej „df“, kde sú stĺpce špecifikované hodnotami. Potom sú názvy riadkov DataFrame špecifikované pomocou funkcie row.names(). Potom zavoláme funkciu order(), aby sme zoradili DataFrame podľa názvov riadkov. Funkcia order() vracia indexy zoradených riadkov, ktoré sa používajú na reorganizáciu riadkov DataFrame.

Výstup zobrazuje zoradený DataFrame podľa riadkov v abecednom poradí:

Záver

Videli sme rôzne funkcie na triedenie dátových rámcov v R. Každá z metód má výhodu a potrebuje operáciu triedenia. Môže existovať viac metód alebo spôsobov na triedenie dátového rámca v jazyku R, ale metódy order(), aranžmá() a setorder() sú najdôležitejšie a najjednoduchšie na triedenie.