Sortirajte DataFrame u R

Sortirajte Dataframe U R



Razvrstavanje DataFramesa u R ključna je operacija u analizi podataka i manipulaciji. Značajno je da R pruža mnogo fleksibilnosti u sortiranju podataka na temelju višestrukih stupaca i sortiranju uzlaznim ili silaznim redoslijedom. U R-u, razvrstavanje DataFrames-a može se postići pomoću različitih metoda i funkcija. U ovom ćemo članku proći kroz različite funkcije koje nam pomažu sortirati DataFrame bilo kojim od navedenih redoslijeda.

Primjer 1: Sortiranje DataFramea pomoću metode Order() u R

Funkcija order() u R-u koristi se za sortiranje DataFrames-a prema jednom ili više stupaca. Funkcija poredak dobiva indekse sortiranih redaka za preuređivanje redaka DataFramea.

emp = podaci. okvir ( imena = c ( 'Andy' , 'Ocjena' , 'Bonnie' , 'Caroline' , 'Ivan' ) ,

dob = c ( dvadeset i jedan , 23 , 29 , 25 , 32 ) ,

plaća = c ( 2000. godine , 1000 , 1500 , 3000 , 2500 ) )

mačka ( ' \n \n Podatkovni okvir poredan prema nazivima uzlaznim redoslijedom \n ' )

poredano_asc = emp [ s ( emp , narudžba ( imena ) ) , ]

ispisati ( poredano_asc )

Ovdje definiramo 'emp' DataFrame s tri stupca koji sadrže različite vrijednosti. Funkcija cat() primjenjuje se za ispis izjave koja označava da će 'emp' DataFrame po stupcu 'names' biti sortiran uzlaznim redoslijedom. Za to koristimo funkciju order() u R koja vraća indeksne pozicije vrijednosti u vektoru koji je poredan uzlaznim redoslijedom. U ovom slučaju, funkcija with() određuje da stupac 'imena' treba sortirati. Sortirani DataFrame pohranjuje se u varijabli 'sorted_asc' koja se prosljeđuje kao argument u funkciji print() za ispis sortiranih rezultata.







Stoga su poredani rezultati DataFramea prema stupcu 'imena' uzlaznim redoslijedom prikazani u nastavku. Da bismo dobili operaciju sortiranja silaznim redoslijedom, možemo samo navesti negativni predznak s nazivom stupca u prethodnoj funkciji order():





Primjer 2: Sortiranje DataFramea pomoću parametara metode Order() u R

Štoviše, funkcija order() uzima opadajuće argumente za sortiranje DataFramea. U sljedećem primjeru specificiramo funkciju order() s argumentom za sortiranje u rastućem ili padajućem redoslijedu:





df = podaci. okvir (

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

tečaj = c ( 'Piton' , 'Java' , 'C++' , 'MongoDB' , 'R' ) )

ispisati ( 'Razvrstano u padajućem redoslijedu prema ID-u' )

ispisati ( df [ narudžba ( df$id , smanjujući se = PRAVI ) , ] )

Ovdje prvo deklariramo varijablu 'df' gdje je funkcija data.frame() definirana s tri različita stupca. Zatim koristimo funkciju print() gdje ispisujemo poruku da naznačimo da će DataFrame biti sortiran u padajućem redoslijedu na temelju stupca 'id'. Nakon toga ponovno implementiramo funkciju print() kako bismo izvršili operaciju sortiranja i ispisali te rezultate. Unutar print() funkcije, pozivamo funkciju 'order' da sortiramo 'df' DataFrame na temelju stupca 'course'. Argument 'opadanje' postavljen je na TRUE za sortiranje u opadajućem redoslijedu.

Na sljedećoj ilustraciji stupac 'id' DataFramea raspoređen je silaznim redoslijedom:



Međutim, da bismo dobili rezultate sortiranja uzlaznim redoslijedom, moramo postaviti opadajući argument funkcije order() s FALSE kao što je prikazano u nastavku:

ispisati ( 'Razvrstano rastućim redoslijedom prema ID-u' )

ispisati ( df [ narudžba ( df$id , smanjujući se = NETOČNO ) , ] )

Tamo dobivamo izlaz operacije sortiranja DataFramea prema stupcu 'id' uzlaznim redoslijedom.

Primjer 3: Sortiranje DataFramea pomoću metode Arrange() u R

Osim toga, također možemo koristiti metodu arrange() za sortiranje DataFramea po stupcima. Također možemo sortirati uzlaznim ili silaznim redoslijedom. Sljedeći navedeni R kod koristi funkciju arrange():

knjižnica ( 'dplyr' )

student = podaci. okvir (

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

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

ispisati ( 'Povećanje redoslijeda sortiranja prema ID-u ' )

ispisati ( urediti ( student , Iskaznica ) )

Ovdje učitavamo paket “dplyr” od R za pristup metodi arrange() za sortiranje. Zatim imamo funkciju data.frame() koja sadrži dva stupca i postavlja DataFrame u varijablu “student”. Zatim implementiramo funkciju arrange() iz paketa “dplyr” u funkciji print() da sortiramo dati DataFrame. Funkcija arrange() uzima DataFrame “student” kao svoj prvi argument, nakon čega slijedi “Id” stupaca prema kojima se sortiraju. Funkcija print() na kraju ispisuje sortirani DataFrame na konzolu.

Možemo vidjeti gdje je stupac 'Id' sortiran u nizu u sljedećem izlazu:

Primjer 4: Sortiranje DataFramea po datumu u R

DataFrame u R također se može sortirati prema vrijednostima datuma. U tu svrhu sortirana funkcija mora biti navedena s funkcijom as.date() za formatiranje datuma.

datum_događaja = podaci. okvir ( događaj = c ( '3/4/2023' , '2.2.2023' ,

'1.10.2023' , '29.3.2023' ) ,

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

datum_događaja [ narudžba ( kao . Datum ( događaj_datum$događaj , format = '%d/%m/%Y' ) ) , ]

Ovdje imamo DataFrame 'event_date' koji sadrži stupac 'event' s nizovima datuma u formatu 'mjesec/dan/godina'. Moramo poredati ove nizove datuma uzlaznim redoslijedom. Koristimo funkciju order() koja sortira DataFrame prema stupcu 'event' uzlaznim redoslijedom. To postižemo pretvaranjem nizova datuma u stupcu 'event' u stvarne datume pomoću funkcije 'as.Date' i određivanjem formata nizova datuma pomoću parametra 'format'.

Dakle, predstavljamo podatke koji su poredani prema stupcu datuma 'događaj' uzlaznim redoslijedom.

Primjer 5: Sortiranje DataFramea pomoću metode Setorder() u R

Slično tome, setorder() je još jedna metoda za sortiranje DataFramea. Razvrstava DataFrame uzimajući argument baš kao i metoda arrange(). R kod za metodu setorder() dan je kako slijedi:

knjižnica ( 'podaci.tablica' )

d1 = podaci. okvir ( ID narudžbe = c ( 1 , 4 , 2 , 5 , 3 ) ,

stavka narudžbe = c ( 'jabuka' , 'naranča' , 'kivi' , 'mango' , 'banana' ) )

ispisati ( postaviti red ( d1 , stavka narudžbe ) )

Ovdje prvo postavljamo biblioteku data.table jer je setorder() funkcija ovog paketa. Zatim koristimo funkciju data.frame() za stvaranje DataFramea. DataFrame je naveden sa samo dva stupca koja koristimo za sortiranje. Nakon toga postavljamo funkciju setorder() unutar funkcije print(). Funkcija setorder() uzima “d1” DataFrame kao prvi parametar i stupac “orderId” kao drugi parametar po kojem se DataFrame sortira. Funkcija 'setorder' preuređuje retke podatkovne tablice uzlaznim redoslijedom na temelju vrijednosti u stupcu 'orderId'.

Sortirani DataFrame je izlaz u sljedećoj konzoli R-a:

Primjer 6: Sortiranje DataFramea pomoću metode Row.Names() u R

Metoda row.names() također je način za sortiranje DataFramea u R. row.names() sortira DataFrame prema navedenom retku.

df < - podaci. okvir ( tim = c ( 'X' , 'X' , 'I' , 'I' , 'S' ) ,

postići = c ( 91 , 80 , 86 , 83 , 95 ) )

red. imena ( df ) < - c ( 'A' , 'D' , 'C' , 'I' , 'B' )

df [ narudžba ( red. imena ( df ) ) , ]

Ovdje je funkcija data.frame() uspostavljena unutar varijable 'df' gdje su stupci navedeni s vrijednostima. Zatim se nazivi redaka DataFramea navode pomoću funkcije row.names(). Nakon toga pozivamo funkciju order() da sortiramo DataFrame prema nazivima redaka. Funkcija order() vraća indekse sortiranih redaka koji se koriste za reorganizaciju redaka DataFramea.

Izlaz prikazuje poredani DataFrame po redovima abecednim redom:

Zaključak

Vidjeli smo različite funkcije za sortiranje DataFramesa u R. Svaka od metoda ima prednost i treba operaciju sortiranja. Može postojati više metoda ili načina za sortiranje DataFramea u R jeziku, ali metode order(), arrange() i setorder() su najvažnije i jednostavne za korištenje za sortiranje.