Sortați DataFrame în R

Sortati Dataframe In R



Sortarea cadrelor de date în R este o operație crucială în analiza și manipularea datelor. În mod semnificativ, R oferă multă flexibilitate în sortarea datelor pe mai multe coloane și sortarea în ordine crescătoare sau descrescătoare. În R, sortarea Cadrelor de date poate fi realizată folosind o varietate de metode și funcții. În acest articol, vom trece prin diferite funcții care ne ajută să sortăm DataFrame în oricare dintre ordinele specificate.

Exemplul 1: Sortarea cadrului de date utilizând metoda Order() în R

Funcția order() din R este folosită pentru a sorta DataFrames-urile după una sau mai multe coloane. Funcția de ordine primește indicii rândurilor sortate pentru a rearanja rândurile DataFrame.

emp = date. cadru ( nume = c ( 'Andy' , 'Marcă' , 'Bonnie' , 'Caroline' , 'Ioan' ) ,

vârstă = c ( douăzeci și unu , 23 , 29 , 25 , 32 ) ,

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

pisică ( ' \n \n Cadrul de date sortat după nume în ordine crescătoare \n ' )

sortat_asc = emp [ cu ( emp , Ordin ( nume ) ) , ]

imprimare ( sortat_asc )

Aici definim DataFrame „emp” cu trei coloane care conțin valori diferite. Funcția cat() este implementată pentru a tipări declarația pentru a indica faptul că DataFrame „emp” după coloana „nume” în ordine crescătoare va fi sortată. Pentru aceasta, folosim funcția order() din R care returnează pozițiile index ale valorilor dintr-un vector care este sortat în ordine crescătoare. În acest caz, funcția with() specifică că coloana „nume” trebuie sortată. DataFrame sortat este stocat în variabila „sorted_asc” care este transmisă ca argument în funcția print() pentru a imprima rezultatele sortate.







Prin urmare, rezultatele sortate ale coloanei DataFrame după „nume” în ordine crescătoare sunt afișate în cele ce urmează. Pentru a obține operația de sortare în ordine descrescătoare, putem specifica doar semnul negativ cu numele coloanei în funcția order() anterioară:





Exemplul 2: Sortarea cadrului de date utilizând parametrii metodei Order() în R

Mai mult, funcția order() preia argumentele descrescătoare pentru a sorta DataFrame. În exemplul următor, specificăm funcția order() cu argumentul pentru a sorta în ordine crescătoare sau descrescătoare:





df = date. cadru (

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

curs = c ( 'Piton' , 'Java' , „C++” , „MongoDB” , 'R' ) )

imprimare ( „Sortat în ordine descrescătoare după ID” )

imprimare ( df [ Ordin ( df$id , in scadere = ADEVĂRAT ) , ] )

Aici, declarăm mai întâi variabila „df” unde funcția data.frame() este definită cu trei coloane diferite. Apoi, folosim funcția print() în care tipărim un mesaj pentru a indica faptul că DataFrame va fi sortat în ordine descrescătoare pe baza coloanei „id”. După aceea, implementăm din nou funcția print() pentru a efectua operația de sortare și a tipări acele rezultate. În interiorul funcției print(), apelăm funcția „order” pentru a sorta DataFrame „df” în funcție de coloana „curs”. Argumentul „descrescător” este setat la TRUE pentru a sorta în ordine descrescătoare.

În următoarea ilustrație, coloana „id” a DataFrame este aranjată în ordine descrescătoare:



Cu toate acestea, pentru a obține rezultatele sortării în ordine crescătoare, trebuie să setăm argumentul descrescător al funcției order() cu FALSE, așa cum se arată în continuare:

imprimare ( „Sortat în ordine crescătoare după ID” )

imprimare ( df [ Ordin ( df$id , in scadere = FALS ) , ] )

Acolo, obținem rezultatul operației de sortare a DataFrame prin coloana „id” în ordine crescătoare.

Exemplul 3: Sortarea DataFrame folosind metoda Arrange() din R

În plus, putem folosi și metoda arrange() pentru a sorta un DataFrame după coloane. De asemenea, putem sorta în ordine crescătoare sau descrescătoare. Următorul cod R dat utilizează funcția arrange():

bibliotecă ( 'dplyr' )

student = date. cadru (

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

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

imprimare ( „Creșterea sortării comenzilor după id” )

imprimare ( aranja ( student , Id ) )

Aici, încărcăm pachetul „dplyr” al lui R pentru a accesa metoda arrange() pentru sortare. Apoi, avem funcția data.frame() care conține două coloane și setați DataFrame în variabila „student”. Apoi, implementăm funcția arrange() din pachetul „dplyr” în funcția print() pentru a sorta DataFrame-ul dat. Funcția arrange() ia ca prim argument „student” DataFrame, urmat de „Id”-ul coloanelor după care se sortează. Funcția print() la final tipărește DataFrame sortat pe consolă.

Putem vedea unde este sortată coloana „Id” într-o secvență în următoarea ieșire:

Exemplul 4: Sortarea DataFrame-ului după dată în R

Cadrul de date din R poate fi sortat și după valorile datei. Pentru aceasta, funcția sortată trebuie specificată cu funcția as.date() pentru a formata datele.

data evenimentului = date. cadru ( eveniment = c ( „04.03.2023” , „2/2/2023” ,

„10.1.2023” , „29.03.2023” ) ,

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

data evenimentului [ Ordin ( la fel de . Data ( event_date$eveniment , format = „%d/%m/%Y” ) ) , ]

Aici, avem un DataFrame „event_date” care conține coloana „eveniment” cu șirurile de date în formatul „lună/zi/an”. Trebuie să sortăm aceste șiruri de date în ordine crescătoare. Folosim funcția order() care sortează DataFrame după coloana „eveniment” în ordine crescătoare. Realizam acest lucru prin conversia șirurilor de date din coloana „eveniment” în datele reale folosind funcția „as.Date” și specificând formatul șirurilor de date folosind parametrul „format”.

Astfel, reprezentăm datele care sunt sortate după coloana de dată „eveniment” în ordine crescătoare.

Exemplul 5: Sortarea DataFrame folosind metoda Setorder() în R

În mod similar, setorder() este, de asemenea, o altă metodă de sortare a DataFrame. Sortează DataFrame luând argumentul la fel ca metoda arrange(). Codul R pentru metoda setorder() este dat după cum urmează:

bibliotecă ( 'tabel de date' )

d1 = date. cadru ( Comanda ID = c ( 1 , 4 , 2 , 5 , 3 ) ,

articol de comandă = c ( 'măr' , 'portocale' , 'kiwi' , 'mango' , 'banană' ) )

imprimare ( stabiliți ordinea ( d1 , articol de comandă ) )

Aici, setăm mai întâi biblioteca data.table, deoarece setorder() este funcția acestui pachet. Apoi, folosim funcția data.frame() pentru a crea DataFrame. DataFrame este specificat cu doar două coloane pe care le folosim pentru a sorta. După aceasta, setăm funcția setorder() în cadrul funcției print(). Funcția setorder() ia „d1” DataFrame ca prim parametru și coloana „orderId” ca al doilea parametru după care este sortat DataFrame. Funcția „setorder” rearanjează rândurile tabelului de date în ordine crescătoare pe baza valorilor din coloana „orderId”.

DataFrame sortat este rezultatul în următoarea consolă a lui R:

Exemplul 6: Sortarea DataFrame folosind metoda Row.Names() în R

Metoda row.names() este, de asemenea, o modalitate de a sorta DataFrame-ul în R. row.names() sortează DataFrames-ul după rândul specificat.

df < - date. cadru ( echipă = c ( 'X' , 'X' , 'ȘI' , 'ȘI' , 'CU' ) ,

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

rând. nume ( df ) < - c ( 'A' , 'D' , „C” , 'ȘI' , „B” )

df [ Ordin ( rând. nume ( df ) ) , ]

Aici, funcția data.frame() este stabilită în cadrul variabilei „df” unde coloanele sunt specificate cu valorile. Apoi, numele rândurilor DataFrame sunt specificate folosind funcția row.names(). După aceea, apelăm funcția order() pentru a sorta DataFrame după numele rândurilor. Funcția order() returnează indicii rândurilor sortate care sunt utilizați pentru a reorganiza rândurile DataFrame.

Ieșirea arată DataFrame sortat după rânduri în ordine alfabetică:

Concluzie

Am văzut diferitele funcții de sortare a cadrelor de date în R. Fiecare dintre metode are un avantaj și necesită operația de sortare. Pot exista mai multe metode sau moduri de a sorta DataFrame în limbajul R, dar metodele order(), arrange() și setorder() sunt cele mai importante și ușor de utilizat pentru sortare.