Ordena el DataFrame a R

Ordena El Dataframe A R



Ordenar els DataFrames en R és una operació crucial en l'anàlisi i manipulació de dades. Significativament, R ofereix molta flexibilitat per ordenar les dades en funció de diverses columnes i ordenar-les en ordre ascendent o descendent. A R, l'ordenació dels DataFrames es pot aconseguir mitjançant una varietat de mètodes i funcions. En aquest article, passarem per diverses funcions que ens ajuden a ordenar el DataFrame en qualsevol de les ordres especificades.

Exemple 1: ordenar el DataFrame mitjançant el mètode Order() a R

La funció order() a R s'utilitza per ordenar els DataFrames per una o diverses columnes. La funció d'ordre obté els índexs de les files ordenades per reordenar les files del DataFrame.

emp = dades. marc ( noms = c ( 'Andy' , 'Senyal' , 'Bonnie' , 'Caroline' , 'Joan' ) ,

edat = c ( 21 , 23 , 29 , 25 , 32 ) ,

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

gat ( ' \n \n Dataframe ordenat per noms en ordre ascendent \n ' )

ordenat_asc = emp [ amb ( emp , ordre ( noms ) ) , ]

imprimir ( ordenat_asc )

Aquí, definim el DataFrame 'emp' amb tres columnes que contenen valors diferents. La funció cat() es desplega per imprimir la instrucció per indicar que el DataFrame 'emp' per la columna 'noms' en ordre ascendent s'ordenarà. Per a això, utilitzem la funció order() a R que retorna les posicions d'índex dels valors en un vector que s'ordena en ordre ascendent. En aquest cas, la funció with() especifica que la columna 'noms' s'ha d'ordenar. El DataFrame ordenat s'emmagatzema a la variable 'sorted_asc' que es passa com a argument a la funció print() per imprimir els resultats ordenats.







Per tant, els resultats ordenats de la columna DataFrame per 'noms' en ordre ascendent es mostren a continuació. Per obtenir l'operació d'ordenació en ordre descendent, només podem especificar el signe negatiu amb el nom de la columna a la funció anterior order():





Exemple 2: ordenació del DataFrame mitjançant els paràmetres del mètode Order() a R

A més, la funció order() pren els arguments decreixents per ordenar el DataFrame. A l'exemple següent, especifiquem la funció order() amb l'argument per ordenar en ordre creixent o decreixent:





df = dades. marc (

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

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

imprimir ( 'Ordenat en ordre decreixent per ID' )

imprimir ( df [ ordre ( df$id , decreixent = VERITAT ) , ] )

Aquí, primer declarem la variable 'df' on la funció data.frame() es defineix amb tres columnes diferents. A continuació, utilitzem la funció print() on imprimim un missatge per indicar que el DataFrame s'ordenarà en ordre decreixent en funció de la columna 'id'. Després d'això, tornem a desplegar la funció print() per dur a terme l'operació d'ordenació i imprimir aquests resultats. Dins de la funció print(), anomenem la funció 'order' per ordenar el DataFrame 'df' en funció de la columna 'curs'. L'argument 'decreixent' s'estableix en TRUE per ordenar en ordre decreixent.

A la il·lustració següent, la columna 'id' del DataFrame està ordenada en ordre descendent:



Tanmateix, per obtenir els resultats de l'ordenació en ordre ascendent, hem d'establir l'argument decreixent de la funció order() amb FALSE tal com es mostra a continuació:

imprimir ( 'Ordenat en ordre creixent per ID' )

imprimir ( df [ ordre ( df$id , decreixent = FALS ) , ] )

Allà, obtenim la sortida de l'operació d'ordenació del DataFrame per la columna 'id' en ordre ascendent.

Exemple 3: ordenar el DataFrame mitjançant el mètode Arrange() a R

A més, també podem utilitzar el mètode arrange() per ordenar un DataFrame per columnes. També podem ordenar en ordre ascendent o descendent. El següent codi R donat utilitza la funció arrange():

biblioteca ( 'dplyr' )

estudiant = dades. marc (

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

marques = c ( 70 , 90 , 75 , 88 , 92 ) )

imprimir ( 'Augmentant l'ordenació d'ordres per identificador' )

imprimir ( arranjar ( estudiant , Id ) )

Aquí, carreguem el paquet 'dplyr' de R per accedir al mètode arrange() per ordenar. Aleshores, tenim la funció data.frame() que conté dues columnes i establim el DataFrame a la variable 'estudiant'. A continuació, despleguem la funció arrange() del paquet 'dplyr' a la funció print() per ordenar el DataFrame donat. La funció arrange() pren el DataFrame 'estudiant' com a primer argument, seguit de l''Id' de les columnes per ordenar. La funció print() al final imprimeix el DataFrame ordenat a la consola.

Podem veure on s'ordena la columna 'Id' en una seqüència a la sortida següent:

Exemple 4: ordenar el DataFrame per data a R

El DataFrame a R també es pot ordenar pels valors de la data. Per a això, la funció ordenada s'ha d'especificar amb la funció as.date() per formatar les dates.

data_esdeveniment = dades. marc ( esdeveniment = c ( '3/4/2023' , '2/2/2023' ,

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

càrrecs = c ( 3100 , 2200 , 1000 , 2900 ) )

data_esdeveniment [ ordre ( com . Data ( event_date$esdeveniment , format = '%d/%m/%Y' ) ) , ]

Aquí, tenim un DataFrame 'event_date' que conté la columna 'esdeveniment' amb les cadenes de data en el format 'mes/dia/any'. Hem d'ordenar aquestes cadenes de dates en ordre ascendent. Utilitzem la funció order() que ordena el DataFrame per la columna 'esdeveniment' en ordre ascendent. Aconseguim això convertint les cadenes de data de la columna 'esdeveniment' a les dates reals mitjançant la funció 'com.Data' i especificant el format de les cadenes de data mitjançant el paràmetre 'format'.

Així, representem les dades que s'ordenen per la columna de data 'esdeveniment' en ordre ascendent.

Exemple 5: ordenació del DataFrame mitjançant el mètode Setorder() a R

De la mateixa manera, el setorder() també és un altre mètode per ordenar el DataFrame. Ordena el DataFrame prenent l'argument igual que el mètode arrange(). El codi R per al mètode setorder() es dóna de la següent manera:

biblioteca ( 'data.table' )

d1 = dades. marc ( identificador de comanda = c ( 1 , 4 , 2 , 5 , 3 ) ,

OrderItem = c ( 'poma' , 'taronja' , 'kiwi' , 'mango' , 'plàtan' ) )

imprimir ( establir l'ordre ( d1 , OrderItem ) )

Aquí, primer establim la biblioteca data.table ja que setorder() és la funció d'aquest paquet. A continuació, utilitzem la funció data.frame() per crear el DataFrame. El DataFrame s'especifica amb només dues columnes que fem servir per ordenar. Després d'això, establim la funció setorder() dins de la funció print(). La funció setorder() pren el DataFrame 'd1' com a primer paràmetre i la columna 'orderId' com el segon paràmetre pel qual s'ordena el DataFrame. La funció 'setorder' reordena les files de la taula de dades en ordre ascendent en funció dels valors de la columna 'orderId'.

El DataFrame ordenat és la sortida a la següent consola de R:

Exemple 6: ordenar el DataFrame mitjançant el mètode Row.Names() a R

El mètode row.names() també és una manera d'ordenar el DataFrame a R. El row.names() ordena els DataFrames per la fila especificada.

df < - dades. marc ( equip = c ( 'X' , 'X' , 'I' , 'I' , 'AMB' ) ,

puntuació = c ( 91 , 80 , 86 , 83 , 95 ) )

fila. noms ( df ) < - c ( 'A' , 'D' , 'C' , 'I' , 'B' )

df [ ordre ( fila. noms ( df ) ) , ]

Aquí, la funció data.frame() s'estableix dins de la variable 'df' on s'especifiquen les columnes amb els valors. Aleshores, els noms de files del DataFrame s'especifiquen mitjançant la funció row.names(). Després d'això, cridem a la funció order() per ordenar el DataFrame per noms de fila. La funció order() retorna els índexs de les files ordenades que s'utilitzen per reorganitzar les files del DataFrame.

La sortida mostra el DataFrame ordenat per files alfabèticament:

Conclusió

Hem vist les diferents funcions per ordenar els DataFrames a R. Cadascun dels mètodes té un avantatge i necessita l'operació d'ordenació. Hi pot haver més mètodes o maneres d'ordenar el DataFrame en llenguatge R, però els mètodes order(), arrange() i setorder() són els més importants i fàcils d'utilitzar per ordenar.