1. példa: A DataFrame rendezése az Order() metódus használatával az R-ben
Az R-ben található order() függvény a DataFrame-ek egy vagy több oszlop szerinti rendezésére szolgál. Az order függvény lekéri a rendezett sorok indexeit, hogy átrendezze a DataFrame sorait.
emp = adat. keret ( neveket = c ( 'Andy' , 'Mark' , 'Bonnie' , 'Caroline' , 'János' ) ,kor = c ( huszonegy , 23 , 29 , 25 , 32 ) ,
fizetés = c ( 2000 , 1000 , 1500 , 3000 , 2500 ) )
macska ( ' \n \n Adatkeret nevek szerint Növekvő sorrendben rendezve \n ' )
sorted_asc = emp [ val vel ( emp , rendelés ( neveket ) ) , ]
nyomtatás ( sorted_asc )
Itt definiáljuk az „emp” DataFrame-et három oszloppal, amelyek különböző értékeket tartalmaznak. A cat() függvény kinyomtatja az utasítást, jelezve, hogy az „emp” DataFrame a „names” oszlopban növekvő sorrendben rendezve lesz. Ehhez az R-ben az order() függvényt használjuk, amely az értékek indexpozícióit adja vissza egy növekvő sorrendbe rendezett vektorban. Ebben az esetben a with() függvény határozza meg, hogy a „names” oszlopot rendezni kell. A rendezett DataFrame a „sorted_asc” változóban tárolódik, amely argumentumként kerül átadásra a print() függvényben a rendezett eredmények kinyomtatásához.
Ezért a DataFrame „nevek” oszlop szerint rendezett eredményei növekvő sorrendben jelennek meg a következőkben. Ahhoz, hogy a rendezési műveletet csökkenő sorrendben kapjuk meg, csak megadhatjuk a negatív előjelet az oszlopnévvel az előző order() függvényben:
2. példa: A DataFrame rendezése az Order() metódus paramétereivel az R-ben
Ezenkívül az order() függvény a csökkenő argumentumokat veszi igénybe a DataFrame rendezéséhez. A következő példában megadjuk az order() függvényt a növekvő vagy csökkenő sorrendű rendezés argumentumával:
df = adat. keret (
id = c ( 1 , 3 , 4 , 5 , 2 ) ,
tanfolyam = c ( 'Piton' , 'Jáva' , 'C++' , 'MongoDB' , 'R' ) )
nyomtatás ( 'Rendezés azonosító szerint csökkenő sorrendben' )
nyomtatás ( df [ rendelés ( df$id , csökkenő = IGAZ ) , ] )
Itt először deklaráljuk a „df” változót, ahol a data.frame() függvény három különböző oszloppal van definiálva. Ezután a print() függvényt használjuk, ahol egy üzenetet nyomtatunk, jelezve, hogy a DataFrame csökkenő sorrendben lesz rendezve az „id” oszlop alapján. Ezt követően ismét üzembe helyezzük a print() függvényt a rendezési művelet végrehajtásához és az eredmények kinyomtatásához. A print() függvényen belül meghívjuk az „order” függvényt, hogy a „df” DataFrame-et a „course” oszlop alapján rendezzük. A „csökkenő” argumentum IGAZ értékre van állítva a csökkenő sorrendbe rendezéshez.
A következő ábrán a DataFrame „id” oszlopa csökkenő sorrendben van elrendezve:
Ahhoz azonban, hogy a rendezési eredményeket növekvő sorrendben kapjuk meg, az order() függvény csökkenő argumentumát FALSE-ra kell állítanunk, amint az az alábbiakban látható:
nyomtatás ( 'Növekvő sorrendbe rendezve azonosító szerint' )nyomtatás ( df [ rendelés ( df$id , csökkenő = HAMIS ) , ] )
Ott a DataFrame rendezési műveletének kimenetét az „id” oszlopban kapjuk növekvő sorrendben.
3. példa: A DataFrame rendezése az Arrange() metódussal az R-ben
Ezenkívül az arrange() metódust is használhatjuk a DataFrame oszlopok szerinti rendezésére. Növekvő vagy csökkenő sorrendbe is rendezhetjük. A következő megadott R kód az arrange() függvényt használja:
könyvtár ( 'dplyr' )diák = adat. keret (
Id = c ( 3 , 5 , 2 , 4 , 1 ) ,
jelek = c ( 70 , 90 , 75 , 88 , 92 ) )
nyomtatás ( 'Rendelések rendezése azonosító alapján' )
nyomtatás ( rendezni ( diák , Id ) )
Itt betöltjük az R „dplyr” csomagját, hogy elérjük az arrange() metódust a rendezéshez. Ezután megkapjuk a data.frame() függvényt, amely két oszlopot tartalmaz, és beállítja a DataFrame-et a „student” változóba. Ezután telepítjük az arrange() függvényt a print() függvény „dplyr” csomagjából az adott DataFrame rendezéséhez. Az arrange() függvény a „student” DataFrame-et veszi első argumentumként, majd az oszlopok „Id”-jét a rendezéshez. A print() függvény a végén kiírja a rendezett DataFrame-et a konzolra.
A következő kimenetben láthatjuk, hogy az „Id” oszlop hol van sorrendben rendezve:
4. példa: A DataFrame rendezése dátum szerint az R-ben
Az R-ben lévő DataFrame a dátumértékek szerint is rendezhető. Ehhez a rendezett függvényt az as.date() függvénnyel kell megadni a dátumok formázásához.
esemény dátum = adat. keret ( esemény = c ( '2023.03.04.' , '2023.02.02.' ,'2023.10.01.' , '2023.03.29.' ) ,
díjak = c ( 3100 , 2200 , 1000 , 2900 ) )
esemény dátum [ rendelés ( mint . Dátum ( esemény_dátuma$esemény , formátum = '%d/%m/%Y' ) ) , ]
Itt van egy „esemény_dátuma” adatkeret, amely az „event” oszlopot tartalmazza a dátum karakterláncokkal „hónap/nap/év” formátumban. Ezeket a dátum karakterláncokat növekvő sorrendbe kell rendeznünk. Az order() függvényt használjuk, amely a DataFrame-et az „event” oszlop szerint növekvő sorrendben rendezi. Ezt úgy érjük el, hogy az „event” oszlopban lévő dátum karakterláncokat a tényleges dátumokká konvertáljuk az „as.Date” függvénnyel, és a „format” paraméterrel megadjuk a dátum karakterláncok formátumát.
Így az „esemény” dátuma oszlop szerint növekvő sorrendben rendezett adatokat ábrázoljuk.
5. példa: A DataFrame rendezése a Setorder() módszerrel az R-ben
Hasonlóképpen, a setorder() egy másik módszer a DataFrame rendezésére. Úgy rendezi a DataFrame-et, hogy az argumentumot veszi, ugyanúgy, mint az arrange() metódus. A setorder() metódus R kódja a következő:
könyvtár ( 'adattábla' )d1 = adat. keret ( Rendelés azonosító = c ( 1 , 4 , 2 , 5 , 3 ) ,
rendelési tétel = c ( 'alma' , 'narancs' , 'kiwi' , 'mangó' , 'banán' ) )
nyomtatás ( felállítani a sorrendet ( d1 , rendelési tétel ) )
Itt először a data.table könyvtárat állítjuk be, mivel a setorder() ennek a csomagnak a funkciója. Ezután a data.frame() függvényt használjuk a DataFrame létrehozásához. A DataFrame csak két oszloppal van megadva, amelyeket a rendezéshez használunk. Ezek után a print() függvényen belül beállítjuk a setorder() függvényt. A setorder() függvény a „d1” DataFrame-et veszi első paraméterként, és az „orderId” oszlopot második paraméterként, amely alapján a DataFrame rendeződik. A „setorder” függvény az „orderId” oszlop értékei alapján növekvő sorrendbe rendezi át az adattábla sorait.
A rendezett DataFrame az R következő konzoljának kimenete:
6. példa: A DataFrame rendezése a Row.Names() metódussal az R-ben
A row.names() metódus egyúttal a DataFrame R-ben történő rendezésének egyik módja. A row.names() a DataFrame-eket a megadott sor szerint rendezi.
df < - adatok. keret ( csapat = c ( 'X' , 'X' , 'ÉS' , 'ÉS' , 'VAL VEL' ) ,pontszám = c ( 91 , 80 , 86 , 83 , 95 ) )
sor. neveket ( df ) < - c ( 'A' , 'D' , 'C' , 'ÉS' , 'B' )
df [ rendelés ( sor. neveket ( df ) ) , ]
Itt a data.frame() függvény a „df” változón belül jön létre, ahol az oszlopok értékekkel vannak megadva. Ezután a DataFrame sorneveit a row.names() függvénnyel kell megadni. Ezt követően meghívjuk az order() függvényt, hogy sornevek szerint rendezzük a DataFrame-et. Az order() függvény visszaadja a rendezett sorok indexeit, amelyek a DataFrame sorainak átszervezésére szolgálnak.
A kimenet ábécé sorrendben jeleníti meg a sorok szerint rendezett DataFrame-et:
Következtetés
Láttuk a különböző funkciókat a DataFrame-ek rendezésére az R-ben. Mindegyik módszernek van előnye, és szüksége van a rendezési műveletre. A DataFrame R nyelven történő rendezésére több módszer is létezik, de az order(), az arrange() és a setorder() metódusok a legfontosabbak és a legkönnyebben használhatók a rendezéshez.