Sorter DataFrame i R

Sorter Dataframe I R



Sortering av DataFrames i R er en avgjørende operasjon i dataanalyse og manipulering. Betydelig nok gir R mye fleksibilitet i sortering av data basert på flere kolonner og sortering i stigende eller synkende rekkefølge. I R kan sortering av DataFrames oppnås ved hjelp av en rekke metoder og funksjoner. I denne artikkelen vil vi gå gjennom ulike funksjoner som hjelper oss med å sortere DataFrame i hvilken som helst av de angitte rekkefølgene.

Eksempel 1: Sortering av DataFrame ved å bruke Order()-metoden i R

Ordre()-funksjonen i R brukes til å sortere DataFrames etter én eller flere kolonner. Ordrefunksjonen henter indeksene til de sorterte radene for å omorganisere radene i DataFrame.

emp = data. ramme ( navn = c ( 'Andy' , 'Merke' , 'Bonnie' , 'Caroline' , 'John' ) ,

alder = c ( tjueen , 23 , 29 , 25 , 32 ) ,

lønn = c ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

katt ( ' \n \n Dataramme sortert etter navn i stigende rekkefølge \n ' )

sortert_asc = emp [ med ( emp , rekkefølge ( navn ) ) , ]

skrive ut ( sortert_asc )

Her definerer vi 'emp' DataFrame med tre kolonner som inneholder forskjellige verdier. Cat()-funksjonen er distribuert for å skrive ut setningen for å indikere at 'emp' DataFrame ved 'navn'-kolonnen i stigende rekkefølge kommer til å bli sortert. Til dette bruker vi funksjonen order() i R som returnerer indeksposisjonene til verdiene i en vektor som er sortert i stigende rekkefølge. I dette tilfellet spesifiserer funksjonen with() at kolonnen 'navn' skal sorteres. Den sorterte DataFrame lagres i 'sorted_asc'-variabelen som sendes som et argument i print()-funksjonen for å skrive ut de sorterte resultatene.







Derfor vises de sorterte resultatene av DataFrame etter 'navn'-kolonnen i stigende rekkefølge i det følgende. For å få sorteringsoperasjonen i synkende rekkefølge, kan vi bare spesifisere det negative tegnet med kolonnenavnet i den forrige orden()-funksjonen:





Eksempel 2: Sortering av DataFrame ved å bruke Order()-metodeparametrene i R

Dessuten tar funksjonen order() de reduserende argumentene for å sortere DataFrame. I følgende eksempel spesifiserer vi order()-funksjonen med argumentet for å sortere i økende eller synkende rekkefølge:





df = data. ramme (

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

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

skrive ut ( 'Sortert i synkende rekkefølge etter ID' )

skrive ut ( df [ rekkefølge ( df$id , minkende = EKTE ) , ] )

Her erklærer vi først «df»-variabelen der data.frame()-funksjonen er definert med tre forskjellige kolonner. Deretter bruker vi print()-funksjonen der vi skriver ut en melding for å indikere at DataFrame kommer til å bli sortert i synkende rekkefølge basert på 'id'-kolonnen. Etter det distribuerer vi print()-funksjonen igjen for å utføre sorteringsoperasjonen og skrive ut disse resultatene. Inne i print()-funksjonen kaller vi 'ordre'-funksjonen for å sortere 'df' DataFrame basert på 'kurs'-kolonnen. Argumentet 'minkende' er satt til TRUE for å sortere i synkende rekkefølge.

I den følgende illustrasjonen er DataFrames 'id'-kolonne ordnet i synkende rekkefølge:



For å få sorteringsresultatene i stigende rekkefølge, må vi imidlertid sette det avtagende argumentet til order()-funksjonen med FALSE som vist i følgende:

skrive ut ( 'Sortert i økende rekkefølge etter ID' )

skrive ut ( df [ rekkefølge ( df$id , minkende = FALSK ) , ] )

Der får vi utdata fra sorteringsoperasjonen til DataFrame etter 'id'-kolonnen i stigende rekkefølge.

Eksempel 3: Sortering av DataFrame ved å bruke Arrange()-metoden i R

I tillegg kan vi også bruke metoden arrange() for å sortere en DataFrame etter kolonner. Vi kan også sortere i stigende eller synkende rekkefølge. Følgende gitte R-kode bruker arrange()-funksjonen:

bibliotek ( 'dplyr' )

student = data. ramme (

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

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

skrive ut ( 'Økende rekkefølge sortering etter ID' )

skrive ut ( arrangere ( student , ID ) )

Her laster vi 'dplyr'-pakken til R for å få tilgang til arrange()-metoden for sortering. Deretter har vi data.frame()-funksjonen som inneholder to kolonner og setter DataFrame inn i 'student'-variabelen. Deretter distribuerer vi arrange()-funksjonen fra “dplyr”-pakken i print()-funksjonen for å sortere den gitte DataFrame. Arranger()-funksjonen tar 'student' DataFrame som sitt første argument, etterfulgt av 'Id' til kolonnene som skal sorteres etter. Print()-funksjonen til slutt skriver ut den sorterte DataFrame til konsollen.

Vi kan se hvor 'Id'-kolonnen er sortert i en sekvens i følgende utdata:

Eksempel 4: Sortering av DataFrame etter dato i R

DataFrame i R kan også sorteres etter datoverdiene. For dette må den sorterte funksjonen spesifiseres med funksjonen as.date() for å formatere datoene.

hendelsesdato = data. ramme ( begivenhet = c ( «3/4/2023» , «2/2/2023» ,

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

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

hendelsesdato [ rekkefølge ( som . Dato ( event_date$event , format = '%d/%m/%Y' ) ) , ]

Her har vi en 'event_date' DataFrame som inneholder 'event'-kolonnen med datostrengene i formatet 'month/day/year'. Vi må sortere disse datostrengene i stigende rekkefølge. Vi bruker funksjonen order() som sorterer DataFrame etter 'hendelse'-kolonnen i stigende rekkefølge. Vi oppnår dette ved å konvertere datostrengene i «hendelse»-kolonnen til de faktiske datoene ved å bruke «as.Date»-funksjonen og spesifisere formatet til datostrengene ved å bruke «format»-parameteren.

Dermed representerer vi dataene som er sortert etter «hendelse»-datokolonnen i stigende rekkefølge.

Eksempel 5: Sortering av DataFrame ved hjelp av Setorder()-metoden i R

På samme måte er setorder() også en annen metode for å sortere DataFrame. Den sorterer DataFrame ved å ta argumentet akkurat som arrange()-metoden. R-koden for setorder()-metoden er gitt som følger:

bibliotek ( 'data bord' )

d1 = data. ramme ( Bestillings ID = c ( 1 , 4 , 2 , 5 , 3 ) ,

bestillingsvare = c ( 'eple' , 'oransje' , 'kiwi' , 'mango' , 'banan' ) )

skrive ut ( sette rekkefølge ( d1 , bestillingsvare ) )

Her setter vi data.table-biblioteket først siden setorder() er funksjonen til denne pakken. Deretter bruker vi data.frame()-funksjonen for å lage DataFrame. DataFrame er spesifisert med kun to kolonner som vi bruker til å sortere. Etter dette setter vi setorder()-funksjonen i print()-funksjonen. Setorder()-funksjonen tar 'd1' DataFrame som den første parameteren og 'orderId'-kolonnen som den andre parameteren som DataFrame er sortert etter. 'setorder'-funksjonen omorganiserer radene i datatabellen i stigende rekkefølge basert på verdiene i 'orderId'-kolonnen.

Den sorterte DataFrame er utdata i følgende konsoll av R:

Eksempel 6: Sortering av DataFrame ved å bruke Row.Names()-metoden i R

Metoden row.names() er også en måte å sortere DataFrame i R. row.names() sorterer DataFrames etter den angitte raden.

df < - data. ramme ( team = c ( 'X' , 'X' , 'OG' , 'OG' , 'MED' ) ,

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

rad. navn ( df ) < - c ( 'EN' , 'D' , 'C' , 'OG' , 'B' )

df [ rekkefølge ( rad. navn ( df ) ) , ]

Her etableres data.frame()-funksjonen innenfor 'df'-variabelen der kolonnene er spesifisert med verdiene. Deretter spesifiseres DataFrames radnavn ved hjelp av funksjonen row.names(). Etter det kaller vi order()-funksjonen for å sortere DataFrame etter radnavn. Ordre()-funksjonen returnerer indeksene til de sorterte radene som brukes til å omorganisere radene i DataFrame.

Utdataene viser den sorterte DataFrame etter rader alfabetisk:

Konklusjon

Vi har sett de forskjellige funksjonene for å sortere DataFrames i R. Hver av metodene har en fordel og trenger sorteringsoperasjonen. Det kan være flere metoder eller måter å sortere DataFrame på R-språket, men metodene order(), arrange() og setorder() er de viktigste og enkle å bruke for sortering.