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.