Razvrstite DataFrame v R

Razvrstite Dataframe V R



Razvrščanje DataFrames v R je ključna operacija pri analizi podatkov in manipulaciji. Pomembno je, da R zagotavlja veliko prilagodljivosti pri razvrščanju podatkov na podlagi več stolpcev in razvrščanju v naraščajočem ali padajočem vrstnem redu. V R je mogoče razvrščanje DataFrames doseči z uporabo različnih metod in funkcij. V tem članku bomo pregledali različne funkcije, ki nam pomagajo razvrstiti DataFrame v katerem koli od navedenih vrstnih redov.

Primer 1: Razvrščanje DataFrame z metodo Order() v R

Funkcija order() v R se uporablja za razvrščanje DataFrames po enem ali več stolpcih. Funkcija vrstnega reda pridobi indekse razvrščenih vrstic za preureditev vrstic DataFrame.

emp = podatke. okvir ( imena = c ( 'Andy' , 'Mark' , 'Bonnie' , 'Caroline' , 'Janez' ) ,

starost = c ( enaindvajset , 23 , 29 , 25 , 32 ) ,

plača = c ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

mačka ( ' \n \n Podatkovni okvir, razvrščen po imenih v naraščajočem vrstnem redu \n ' )

razvrščeno_naraščajoče = emp [ z ( emp , naročilo ( imena ) ) , ]

tiskanje ( razvrščeno_naraščajoče )

Tukaj definiramo »emp« DataFrame s tremi stolpci, ki vsebujejo različne vrednosti. Funkcija cat() je nameščena za tiskanje izjave, ki nakazuje, da bo »emp« DataFrame po stolpcu »names« razvrščen v naraščajočem vrstnem redu. Za to uporabimo funkcijo order() v R, ki vrne položaje indeksa vrednosti v vektorju, ki je razvrščen v naraščajočem vrstnem redu. V tem primeru funkcija with() določa, da je treba stolpec »imena« razvrstiti. Razvrščen DataFrame je shranjen v spremenljivki »sorted_asc«, ki je posredovana kot argument v funkciji print() za tiskanje razvrščenih rezultatov.







Zato so v nadaljevanju prikazani razvrščeni rezultati DataFrame po stolpcu »imena« v naraščajočem vrstnem redu. Da dobimo operacijo razvrščanja v padajočem vrstnem redu, lahko samo določimo negativni predznak z imenom stolpca v prejšnji funkciji order():





Primer 2: Razvrščanje DataFrame z uporabo parametrov metode Order() v R

Poleg tega funkcija order() sprejme padajoče argumente za razvrščanje DataFrame. V naslednjem primeru podamo funkcijo order() z argumentom za razvrščanje v naraščajočem ali padajočem vrstnem redu:





df = podatke. okvir (

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

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

tiskanje ( 'Razvrščeno v padajočem vrstnem redu glede na ID' )

tiskanje ( df [ naročilo ( df$id , zmanjševanje = PRAV ) , ] )

Tukaj najprej deklariramo spremenljivko »df«, kjer je funkcija data.frame() definirana s tremi različnimi stolpci. Nato uporabimo funkcijo print(), kjer natisnemo sporočilo, ki nakazuje, da bo DataFrame razvrščen v padajočem vrstnem redu glede na stolpec »id«. Po tem znova uvedemo funkcijo print(), da izvedemo operacijo razvrščanja in natisnemo te rezultate. Znotraj funkcije print() pokličemo funkcijo »order«, da razvrstimo podatkovni okvir »df« glede na stolpec »tečaj«. Argument »padajoče« je nastavljen na TRUE za razvrščanje v padajočem vrstnem redu.

Na naslednji sliki je stolpec »id« DataFrame urejen v padajočem vrstnem redu:



Vendar, da bi dobili rezultate razvrščanja v naraščajočem vrstnem redu, moramo nastaviti padajoči argument funkcije order() z FALSE, kot je prikazano v naslednjem:

tiskanje ( 'Razvrščeno v naraščajočem vrstnem redu glede na ID' )

tiskanje ( df [ naročilo ( df$id , zmanjševanje = LAŽNO ) , ] )

Tam dobimo izhod operacije razvrščanja DataFrame po stolpcu »id« v naraščajočem vrstnem redu.

Primer 3: Razvrščanje DataFrame z metodo Arrange() v R

Poleg tega lahko uporabimo tudi metodo arrange() za razvrščanje DataFrame po stolpcih. Razvrščamo jih lahko tudi v naraščajočem ali padajočem vrstnem redu. Naslednja podana koda R uporablja funkcijo arrange():

knjižnica ( 'dplyr' )

študent = podatke. okvir (

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

oznake = c ( 70 , 90 , 75 , 88 , 92 ) )

tiskanje ( 'Razvrščanje vrstnega reda po ID-ju' )

tiskanje ( urediti ( študent , Id ) )

Tukaj naložimo paket »dplyr« R za dostop do metode arrange() za razvrščanje. Nato imamo funkcijo data.frame(), ki vsebuje dva stolpca in nastavimo DataFrame v spremenljivko »študent«. Nato uvedemo funkcijo arrange() iz paketa »dplyr« v funkciji print(), da razvrstimo podani DataFrame. Funkcija arrange() kot svoj prvi argument vzame »student« DataFrame, ki mu sledi »Id« stolpcev, po katerih naj se razvrsti. Funkcija print() na koncu natisne razvrščen DataFrame na konzolo.

Vidimo lahko, kje je stolpec »Id« razvrščen v zaporedju v naslednjem izhodu:

Primer 4: Razvrščanje DataFrame po datumu v R

DataFrame v R je mogoče razvrstiti tudi po datumskih vrednostih. Za to mora biti razvrščena funkcija navedena s funkcijo as.date() za oblikovanje datumov.

datum_dogodka = podatke. okvir ( dogodek = c ( '3/4/2023' , '2/2/2023' ,

'1.10.2023' , '29.3.2023' ) ,

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

datum_dogodka [ naročilo ( kot . Datum ( dogodek_datum$dogodek , format = '%d/%m/%Y' ) ) , ]

Tukaj imamo DataFrame »event_date«, ki vsebuje stolpec »event« z datumskimi nizi v obliki »mesec/dan/leto«. Te datumske nize moramo razvrstiti v naraščajočem vrstnem redu. Uporabljamo funkcijo order(), ki DataFrame razvrsti po stolpcu »event« v naraščajočem vrstnem redu. To dosežemo tako, da pretvorimo datumske nize v stolpcu »event« v dejanske datume s funkcijo »as.Date« in določimo obliko datumskih nizov s parametrom »format«.

Tako predstavljamo podatke, ki so razvrščeni po stolpcu datuma »dogodek« v naraščajočem vrstnem redu.

Primer 5: Razvrščanje DataFrame z metodo Setorder() v R

Podobno je setorder() še ena metoda za razvrščanje DataFrame. Razvrsti DataFrame tako, da vzame argument tako kot metoda arrange(). Koda R za metodo setorder() je podana takole:

knjižnica ( 'data.table' )

d1 = podatke. okvir ( Številka naročila = c ( 1 , 4 , 2 , 5 , 3 ) ,

orderitem = c ( 'jabolko' , 'oranžna' , 'kivi' , 'mango' , 'banana' ) )

tiskanje ( nastavite vrstni red ( d1 , orderitem ) )

Tukaj najprej nastavimo knjižnico data.table, saj je setorder() funkcija tega paketa. Nato uporabimo funkcijo data.frame(), da ustvarimo DataFrame. DataFrame je določen s samo dvema stolpcema, ki ju uporabljamo za razvrščanje. Po tem nastavimo funkcijo setorder() znotraj funkcije print(). Funkcija setorder() sprejme DataFrame »d1« kot prvi parameter in stolpec »orderId« kot drugi parameter, po katerem je DataFrame razvrščen. Funkcija »setorder« prerazporedi vrstice podatkovne tabele v naraščajočem vrstnem redu glede na vrednosti v stolpcu »orderId«.

Razvrščeni DataFrame je izhod v naslednji konzoli R:

Primer 6: Razvrščanje DataFrame z metodo Row.Names() v R

Metoda row.names() je tudi način za razvrščanje DataFrame v R. row.names() razvršča DataFrame po določeni vrstici.

df < - podatki. okvir ( ekipa = c ( 'X' , 'X' , 'IN' , 'IN' , 'Z' ) ,

rezultat = c ( 91 , 80 , 86 , 83 , 95 ) )

vrstica. imena ( df ) < - c ( 'A' , 'D' , 'C' , 'IN' , 'B' )

df [ naročilo ( vrstica. imena ( df ) ) , ]

Tu je funkcija data.frame() vzpostavljena znotraj spremenljivke »df«, kjer so stolpci podani z vrednostmi. Nato se imena vrstic DataFrame določijo s funkcijo row.names(). Po tem pokličemo funkcijo order(), da razvrstimo DataFrame po imenih vrstic. Funkcija order() vrne indekse razvrščenih vrstic, ki se uporabljajo za reorganizacijo vrstic DataFrame.

Izhod prikazuje razvrščen DataFrame po vrsticah po abecedi:

Zaključek

Videli smo različne funkcije za razvrščanje DataFrames v R. Vsaka od metod ima prednost in potrebuje operacijo razvrščanja. Obstaja lahko več metod ali načinov za razvrščanje DataFrame v jeziku R, vendar so metode order(), arrange() in setorder() najpomembnejše in enostavne za uporabo za razvrščanje.