Rendezze a DataFrame-et R-ben

Rendezze A Dataframe Et R Ben



A DataFrame-ek rendezése R-ben az adatelemzés és -manipuláció kulcsfontosságú művelete. Lényeges, hogy az R nagy rugalmasságot biztosít az adatok több oszlop alapján történő rendezésében, valamint növekvő vagy csökkenő sorrendben. Az R-ben a DataFrame-ek rendezése számos módszerrel és funkcióval elvégezhető. Ebben a cikkben különböző funkciókat fogunk átmenni, amelyek segítenek a DataFrame-nek a megadott sorrendben történő rendezésében.

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.