Sorteeri DataFrame kaustas R

Sorteeri Dataframe Kaustas R



DataFrames'ide sortimine R-is on andmete analüüsimisel ja töötlemisel ülioluline toiming. Oluline on see, et R pakub palju paindlikkust andmete sortimisel mitme veeru alusel ja kasvavas või kahanevas järjestuses. R-is saab DataFrame'i sorteerida erinevate meetodite ja funktsioonide abil. Selles artiklis käsitleme erinevaid funktsioone, mis aitavad meil DataFrame'i mis tahes määratud järjekorras sortida.

Näide 1: DataFrame'i sortimine Order() meetodi abil R-is

R-i funktsiooni order() kasutatakse DataFrame'ide sortimiseks ühe või mitme veeru järgi. Järjestusfunktsioon hangib DataFrame'i ridade ümberkorraldamiseks sorteeritud ridade indeksid.

emp = andmeid. raami ( nimed = c ( 'Andy' , 'Mark' , 'Bonnie' , 'Caroline' , 'John' ) ,

vanus = c ( kakskümmend üks , 23 , 29 , 25 , 32 ) ,

palk = c ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

kass ( ' \n \n Andmeraam on sorteeritud nimede järgi kasvavas järjekorras \n ' )

sorted_asc = emp [ koos ( emp , tellida ( nimed ) ) , ]

printida ( sorted_asc )

Siin määratleme 'emp' DataFrame'i kolme veeruga, mis sisaldavad erinevaid väärtusi. Funktsioon cat() on juurutatud avalduse printimiseks, mis näitab, et kasvavas järjekorras veerus 'names' olev 'emp' DataFrame sorteeritakse. Selleks kasutame R-is funktsiooni order(), mis tagastab väärtuste indeksi asukohad kasvavas järjestuses järjestatud vektoris. Sel juhul määrab funktsioon with(), et veerg 'nimed' tuleks sortida. Sorteeritud DataFrame salvestatakse muutujas 'sorted_asc', mis edastatakse argumendina funktsioonis print() sorteeritud tulemuste printimiseks.







Seega kuvatakse järgmiselt DataFrame'i veeru 'nimede' järgi sorteeritud tulemused kasvavas järjekorras. Sortimisoperatsiooni saamiseks kahanevas järjekorras saame eelmises funktsioonis order() määrata veeru nimega negatiivse märgi:





Näide 2: DataFrame'i sortimine Order() meetodi parameetrite abil R-is

Lisaks kasutab funktsioon order() DataFrame'i sortimiseks kahanevaid argumente. Järgmises näites määrame funktsiooni order() argumendiga järjestamiseks kasvavas või kahanevas järjekorras:





df = andmeid. raami (

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

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

printida ( 'Sorditud ID järgi kahanevas järjekorras' )

printida ( df [ tellida ( df$id , väheneb = TÕSI ) , ] )

Siin deklareerime kõigepealt muutuja 'df', kus funktsioon data.frame() on määratletud kolme erineva veeruga. Järgmisena kasutame funktsiooni print(), kus prindime sõnumi, mis näitab, et DataFrame sorteeritakse kahanevas järjekorras veeru „id” alusel. Pärast seda juurutame sortimistoimingu läbiviimiseks ja tulemuste printimiseks uuesti funktsiooni print(). Funktsiooni print() sees kutsume funktsiooni 'order', et sortida 'df' DataFrame veeru 'kursus' alusel. Argumendiks „Kahanev” määratakse väärtus TÕENE, et sortida kahanevas järjekorras.

Järgmisel joonisel on DataFrame'i veerg „id” järjestatud kahanevas järjekorras.



Siiski, et saada sortimistulemusi kasvavas järjekorras, peame määrama funktsiooni order() kahaneva argumendi väärtusega FALSE, nagu on näidatud järgmiselt:

printida ( 'Sorditud kasvavas järjekorras ID järgi' )

printida ( df [ tellida ( df$id , väheneb = VALE ) , ] )

Seal saame DataFrame'i sortimisoperatsiooni väljundi veeru 'id' järgi kasvavas järjekorras.

Näide 3: DataFrame'i sortimine, kasutades R-i Arrange() meetodit

Lisaks saame DataFrame'i veergude kaupa sortimiseks kasutada ka meetodit arrange(). Samuti saame sortida kasvavas või kahanevas järjekorras. Järgmine antud R-kood kasutab arrange() funktsiooni:

raamatukogu ( 'dplyr' )

õpilane = andmeid. raami (

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

märgid = c ( 70 , 90 , 75 , 88 , 92 ) )

printida ( 'Id järgi järjestuse sortimise suurendamine' )

printida ( korraldama ( õpilane , Id ) )

Siin laadime R-i paketi „dplyr”, et pääseda juurde sortimise meetodile arrange(). Seejärel on meil funktsioon data.frame(), mis sisaldab kahte veergu ja määrab DataFrame'i muutujaks „student”. Järgmisena juurutame antud DataFrame'i sortimiseks funktsiooni arrange() funktsiooni print() paketist 'dplyr'. Funktsioon arrange() võtab esimese argumendina 'õpilase' DataFrame'i, millele järgneb sortimiseks veergude 'Id'. Funktsioon print() prindib lõpuks sorteeritud DataFrame'i konsooli.

Näeme järgmises väljundis, kus veerg 'Id' on järjestatud:

Näide 4: DataFrame'i sortimine kuupäeva järgi R-s

DataFrame'i R-is saab sortida ka kuupäevaväärtuste järgi. Selleks tuleb sorteeritud funktsioon määrata kuupäevade vormindamiseks funktsiooniga as.date().

sündmuse_kuupäev = andmeid. raami ( sündmus = c ( '04/03/2023' , '2/2/2023' ,

'10/1/2023' , '29.03.2023' ) ,

süüdistused = c ( 3100 , 2200 , 1000 , 2900 ) )

sündmuse_kuupäev [ tellida ( nagu . Kuupäev ( sündmuse_kuupäev$sündmus , vormingus = '%d/%m/%Y' ) ) , ]

Siin on andmeraam 'sündmus_kuupäev', mis sisaldab veergu 'sündmus' koos kuupäevastringidega vormingus 'kuu/päev/aasta'. Peame need kuupäevastringid sorteerima kasvavas järjekorras. Kasutame funktsiooni order(), mis sorteerib DataFrame'i veeru 'sündmus' järgi kasvavas järjekorras. Selle saavutamiseks teisendame veerus 'sündmus' olevad kuupäevastringid tegelikeks kuupäevadeks funktsiooni 'as.Date' abil ja määrame kuupäevastringide vormingu parameetri 'format' abil.

Seega esindame andmeid, mis on sorteeritud kuupäeva veeru 'sündmus' järgi kasvavas järjekorras.

Näide 5: DataFrame'i sortimine, kasutades R-i meetodit Setorder().

Samamoodi on setorder() ka teine ​​meetod DataFrame'i sortimiseks. See sorteerib DataFrame'i, võttes argumendi täpselt nagu arrange() meetod. Setorder() meetodi R-kood on esitatud järgmiselt:

raamatukogu ( 'data.table' )

d1 = andmeid. raami ( orderId = c ( 1 , 4 , 2 , 5 , 3 ) ,

tellida kaup = c ( 'õun' , 'oranž' , 'kiivi' , 'mango' , 'banaan' ) )

printida ( järjekorda seada ( d1 , tellida kaup ) )

Siin määrame kõigepealt teegi data.table, kuna setorder() on selle paketi funktsioon. Seejärel kasutame DataFrame'i loomiseks funktsiooni data.frame(). DataFrame on määratud ainult kahe veeruga, mida me sortimiseks kasutame. Pärast seda määrame funktsiooni setorder() funktsiooni print() sees. Funktsioon setorder() võtab esimese parameetrina DataFrame'i 'd1' ja teise parameetrina veeru 'orderId', mille järgi DataFrame sorteeritakse. Funktsioon 'setorder' korraldab andmetabeli read ümber kasvavas järjekorras, lähtudes veerus 'orderId' olevatest väärtustest.

Sorteeritud DataFrame on järgmise R-konsooli väljund:

Näide 6: DataFrame'i sortimine, kasutades R-i meetodit Row.Names()

Meetod row.names() on ka viis DataFrame'i sortimiseks R-is. Meetod row.names() sorteerib DataFrame'id määratud rea järgi.

df < - andmed. raami ( meeskond = c ( 'X' , 'X' , 'JA' , 'JA' , 'WITH' ) ,

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

rida. nimed ( df ) < - c ( 'A' , 'D' , 'C' , 'JA' , 'B' )

df [ tellida ( rida. nimed ( df ) ) , ]

Siin luuakse funktsioon data.frame() muutujas 'df', kus veerud on määratud väärtustega. Seejärel määratakse DataFrame'i ridade nimed funktsiooni row.names() abil. Pärast seda kutsume välja order() funktsiooni, et sortida DataFrame reanimede järgi. Funktsioon order() tagastab sorteeritud ridade indeksid, mida kasutatakse DataFrame'i ridade ümberkorraldamiseks.

Väljund näitab sorteeritud DataFrame'i ridade kaupa tähestikulises järjekorras:

Järeldus

Oleme näinud erinevaid funktsioone DataFrame'ide sortimiseks R-s. Igal meetodil on eelis ja see vajab sortimistoimingut. DataFrame'i sortimiseks R-keeles võib olla rohkem meetodeid või viise, kuid meetodid order(), arrange() ja setorder() on kõige olulisemad ja lihtsamini kasutatavad sortimiseks.