Sorter DataFrame i R

Sorter Dataframe I R



Sortering af DataFrames i R er en afgørende operation i dataanalyse og manipulation. Det er væsentligt, at R giver en masse fleksibilitet til at sortere data baseret på flere kolonner og sortere i stigende eller faldende rækkefølge. I R kan sortering af DataFrames udføres ved hjælp af en række forskellige metoder og funktioner. I denne artikel vil vi gennemgå forskellige funktioner, som hjælper os med at sortere DataFrame i enhver af de angivne rækkefølger.

Eksempel 1: Sortering af DataFrame ved hjælp af Order()-metoden i R

Ordre()-funktionen i R bruges til at sortere DataFrames efter en eller flere kolonner. Ordrefunktionen henter indeksene for de sorterede rækker for at omarrangere rækkerne i DataFrame.

emp = data. ramme ( navne = c ( 'Andy' , 'Mærke' , 'Bonnie' , 'Caroline' , 'John' ) ,

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

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

kat ( ' \n \n Dataramme sorteret efter navne i stigende rækkefølge \n ' )

sorteret_asc = emp [ med ( emp , bestille ( navne ) ) , ]

Print ( sorteret_asc )

Her definerer vi 'emp' DataFrame med tre kolonner, der indeholder forskellige værdier. Cat()-funktionen er implementeret til at udskrive sætningen for at angive, at 'emp' DataFrame ved kolonnen 'navne' i stigende rækkefølge vil blive sorteret. Til dette bruger vi funktionen order() i R, som returnerer indekspositionerne for værdierne i en vektor, der er sorteret i stigende rækkefølge. I dette tilfælde specificerer funktionen with() at kolonnen 'navne' skal sorteres. Den sorterede DataFrame er gemt i 'sorted_asc'-variablen, som sendes som et argument i print()-funktionen for at udskrive de sorterede resultater.







Derfor vises de sorterede resultater af DataFrame efter kolonnen 'navne' i stigende rækkefølge i det følgende. For at få sorteringsoperationen i faldende rækkefølge, kan vi blot angive det negative fortegn med kolonnenavnet i den foregående orden() funktion:





Eksempel 2: Sortering af DataFrame ved hjælp af Order()-metodeparametrene i R

Desuden tager funktionen order() de faldende argumenter til at sortere DataFrame. I det følgende eksempel specificerer vi funktionen order() med argumentet til at sortere i stigende eller faldende rækkefølge:





df = data. ramme (

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

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

Print ( 'Sorteret i faldende rækkefølge efter ID' )

Print ( df [ bestille ( df$id , faldende = RIGTIGT ) , ] )

Her erklærer vi først 'df'-variablen, hvor data.frame()-funktionen er defineret med tre forskellige kolonner. Dernæst bruger vi print()-funktionen, hvor vi udskriver en besked for at angive, at DataFrame vil blive sorteret i faldende rækkefølge baseret på 'id'-kolonnen. Derefter implementerer vi print()-funktionen igen for at udføre sorteringsoperationen og udskrive disse resultater. Inde i print()-funktionen kalder vi 'ordre'-funktionen for at sortere 'df' DataFrame baseret på 'kursus'-kolonnen. Argumentet 'faldende' er sat til TRUE for at sortere i faldende rækkefølge.

I den følgende illustration er DataFrames 'id'-kolonne arrangeret i faldende rækkefølge:



Men for at få sorteringsresultaterne i stigende rækkefølge, skal vi indstille det faldende argument for funktionen order() med FALSE som vist i følgende:

Print ( 'Sorteret i stigende rækkefølge efter ID' )

Print ( df [ bestille ( df$id , faldende = FALSK ) , ] )

Der får vi output fra sorteringsoperationen af ​​DataFrame efter 'id'-kolonnen i stigende rækkefølge.

Eksempel 3: Sortering af DataFrame ved hjælp af Arrange()-metoden i R

Derudover kan vi også bruge metoden arrange() til at sortere en DataFrame efter kolonner. Vi kan også sortere i stigende eller faldende rækkefølge. Den følgende givne R-kode bruger funktionen arrange():

bibliotek ( 'dplyr' )

studerende = data. ramme (

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

mærker = c ( 70 , 90 , 75 , 88 , 92 ) )

Print ( 'Øgende rækkefølge sortering efter id' )

Print ( arrangere ( studerende , Id ) )

Her indlæser vi 'dplyr'-pakken af ​​R for at få adgang til arrange()-metoden til sortering. Derefter har vi data.frame()-funktionen, som indeholder to kolonner og indstiller DataFrame til 'student'-variablen. Dernæst implementerer vi arrange()-funktionen fra 'dplyr'-pakken i print()-funktionen for at sortere den givne DataFrame. Funktionen arrange() tager 'student' DataFrame som sit første argument, efterfulgt af 'Id' for de kolonner, der skal sorteres efter. Print()-funktionen til sidst udskriver den sorterede DataFrame til konsollen.

Vi kan se, hvor 'Id'-kolonnen er sorteret i en rækkefølge i følgende output:

Eksempel 4: Sortering af DataFrame efter dato i R

DataFrame i R kan også sorteres efter datoværdierne. Til dette skal den sorterede funktion angives med funktionen as.date() for at formatere datoerne.

begivenhed_dato = data. ramme ( begivenhed = c ( '3/4/2023' , '2/2/2023' ,

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

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

begivenhed_dato [ bestille ( som . Dato ( begivenhedsdato$begivenhed , format = '%d/%m/%Y' ) ) , ]

Her har vi en 'event_date' DataFrame, som indeholder 'event' kolonnen med datostrengene i formatet 'month/day/year'. Vi skal sortere disse datostrenge i stigende rækkefølge. Vi bruger funktionen order() som sorterer DataFrame efter kolonnen 'hændelse' i stigende rækkefølge. Vi opnår dette ved at konvertere datostrengene i kolonnen 'hændelse' til de faktiske datoer ved hjælp af funktionen 'as.Date' og specificere formatet på datostrengene ved hjælp af 'format'-parameteren.

Således repræsenterer vi de data, der er sorteret efter 'hændelse'-datokolonnen i stigende rækkefølge.

Eksempel 5: Sortering af DataFrame ved hjælp af Setorder()-metoden i R

På samme måde er setorder() også en anden metode til at sortere DataFrame. Det sorterer DataFrame ved at tage argumentet ligesom arrange() metoden. R-koden for setorder()-metoden er givet som følger:

bibliotek ( 'data.table' )

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

bestillingsvare = c ( 'æble' , 'orange' , 'kiwi' , 'mango' , 'banan' ) )

Print ( sætte rækkefølge ( d1 , bestillingsvare ) )

Her indstiller vi data.table-biblioteket først, da setorder() er funktionen af ​​denne pakke. Derefter bruger vi data.frame()-funktionen til at skabe DataFrame. DataFrame er specificeret med kun to kolonner, som vi bruger til at sortere. Efter dette indstiller vi setorder()-funktionen i print()-funktionen. Funktionen setorder() tager 'd1' DataFrame som den første parameter og kolonnen 'orderId' som den anden parameter, som DataFrame er sorteret efter. Funktionen 'setorder' omarrangerer rækkerne i datatabellen i stigende rækkefølge baseret på værdierne i kolonnen 'orderId'.

Den sorterede DataFrame er outputtet i følgende konsol af R:

Eksempel 6: Sortering af DataFrame ved hjælp af Row.Names()-metoden i R

Metoden row.names() er også en måde at sortere DataFrame på i R. row.names() sorterer DataFrame efter den angivne række.

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

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

række. navne ( df ) < - c ( 'EN' , 'D' , 'C' , 'OG' , 'B' )

df [ bestille ( række. navne ( df ) ) , ]

Her etableres data.frame()-funktionen i 'df'-variablen, hvor kolonnerne er specificeret med værdierne. Derefter angives DataFrames rækkenavne ved hjælp af funktionen row.names() . Derefter kalder vi funktionen order() for at sortere DataFrame efter rækkenavne. Funktionen order() returnerer indeksene for de sorterede rækker, som bruges til at omorganisere rækkerne i DataFrame.

Outputtet viser den sorterede DataFrame efter rækker alfabetisk:

Konklusion

Vi har set de forskellige funktioner til at sortere DataFrames i R. Hver af metoderne har en fordel og har brug for sorteringsoperationen. Der kan være flere metoder eller måder at sortere DataFrame på i R-sprog, men metoderne order(), arrange() og setorder() er de vigtigste og nemmeste at bruge til sortering.