Seřaďte DataFrame v R

Seradte Dataframe V R



Třídění datových rámců v R je klíčovou operací při analýze dat a manipulaci s nimi. Je důležité, že R poskytuje velkou flexibilitu při řazení dat na základě více sloupců a řazení ve vzestupném nebo sestupném pořadí. V R lze třídění datových rámců provádět pomocí různých metod a funkcí. V tomto článku si projdeme různé funkce, které nám pomohou seřadit DataFrame v libovolném ze zadaných pořadí.

Příklad 1: Třídění datového rámce pomocí metody Order() v R

Funkce order() v R se používá k řazení DataFrames podle jednoho nebo více sloupců. Funkce order získá indexy seřazených řádků, aby přeuspořádala řádky DataFrame.

emp = data. rám ( jména = C ( 'Andy' , 'Označit' , 'Bonnie' , 'Caroline' , 'John' ) ,

stáří = C ( dvacet jedna , 23 , 29 , 25 , 32 ) ,

plat = C ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

kočka ( ' \n \n Dataframe Seřazeno podle názvů vzestupně \n ' )

sorted_asc = emp [ s ( emp , objednat ( jména ) ) , ]

tisk ( sorted_asc )

Zde definujeme „emp“ DataFrame se třemi sloupci obsahujícími různé hodnoty. Funkce cat() je nasazena k vytištění příkazu, který indikuje, že „emp“ DataFrame podle sloupce „names“ ve vzestupném pořadí bude setříděn. K tomu používáme funkci order() v R, která vrací indexové pozice hodnot ve vektoru, který je řazen vzestupně. V tomto případě funkce with() určuje, že sloupec „names“ by měl být seřazen. Seřazený DataFrame je uložen v proměnné „sorted_asc“, která se předává jako argument ve funkci print() pro tisk seřazených výsledků.







V následujícím se tedy zobrazí seřazené výsledky DataFrame podle sloupce „names“ ve vzestupném pořadí. Chcete-li získat operaci řazení v sestupném pořadí, stačí zadat záporné znaménko s názvem sloupce v předchozí funkci order():





Příklad 2: Třídění datového rámce pomocí parametrů metody Order() v R

Navíc funkce order() přebírá klesající argumenty k seřazení DataFrame. V následujícím příkladu specifikujeme funkci order() s argumentem pro řazení ve vzestupném nebo sestupném pořadí:





df = data. rám (

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

chod = C ( 'Krajta' , 'Jáva' , 'C++' , 'MongoDB' , 'R' ) )

tisk ( 'Seřazeno sestupně podle ID' )

tisk ( df [ objednat ( df$id , klesající = SKUTEČNÝ ) , ] )

Zde nejprve deklarujeme proměnnou „df“, kde je funkce data.frame() definována se třemi různými sloupci. Dále použijeme funkci print(), kde vytiskneme zprávu indikující, že DataFrame bude řazen v sestupném pořadí podle sloupce „id“. Poté znovu nasadíme funkci print(), abychom provedli operaci řazení a vytiskli tyto výsledky. Uvnitř funkce print() voláme funkci „order“, abychom seřadili DataFrame „df“ na základě sloupce „kurz“. Argument „klesající“ je nastaven na hodnotu TRUE, aby se třídil v sestupném pořadí.

Na následujícím obrázku je sloupec „id“ DataFrame uspořádán v sestupném pořadí:



Abychom však získali výsledky řazení ve vzestupném pořadí, musíme nastavit klesající argument funkce order() na FALSE, jak je znázorněno v následujícím:

tisk ( 'Seřazeno v rostoucím pořadí podle ID' )

tisk ( df [ objednat ( df$id , klesající = NEPRAVDIVÉ ) , ] )

Tam získáme výstup operace řazení DataFrame podle sloupce „id“ ve vzestupném pořadí.

Příklad 3: Třídění datového rámce pomocí metody Arrange() v R

Navíc můžeme také použít metodu uspořádat() k seřazení DataFrame podle sloupců. Můžeme také řadit vzestupně nebo sestupně. Následující daný R kód používá funkci uspořádat ():

knihovna ( 'dplyr' )

student = data. rám (

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

značky = C ( 70 , 90 , 75 , 88 , 92 ) )

tisk ( 'Zvýšení řazení objednávek podle ID' )

tisk ( uspořádat ( student , Id ) )

Zde načteme balíček „dplyr“ R, abychom získali přístup k metodě uspořádání() pro třídění. Pak máme funkci data.frame(), která obsahuje dva sloupce a nastavíme DataFrame do proměnné „student“. Dále nasadíme funkci aranžmá() z balíčku „dplyr“ ve funkci print() k seřazení daného DataFrame. Funkce aranžmá() bere jako svůj první argument datový rámec „student“ následovaný „ID“ sloupců, podle kterých se má třídit. Funkce print() na konci vytiskne seřazený DataFrame do konzole.

V následujícím výstupu vidíme, kde je sloupec „Id“ seřazen v sekvenci:

Příklad 4: Třídění datového rámce podle data v R

DataFrame v R lze také třídit podle hodnot data. Za tímto účelem musí být funkce třídění specifikována pomocí funkce as.date() pro formátování dat.

datum události = data. rám ( událost = C ( '3/4/2023' , '2/2/2023' ,

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

poplatky = C ( 3100 , 2200 , 1000 , 2900 ) )

datum události [ objednat ( tak jako . datum ( datum_události$událost , formát = '%d/%m/%Y' ) ) , ]

Zde máme DataFrame „event_date“, který obsahuje sloupec „event“ s datovými řetězci ve formátu „měsíc/den/rok“. Musíme tyto datové řetězce seřadit vzestupně. Používáme funkci order(), která třídí DataFrame podle sloupce „událost“ ve vzestupném pořadí. Toho dosáhneme převodem datových řetězců ve sloupci „událost“ na skutečná data pomocí funkce „as.Date“ a specifikací formátu datových řetězců pomocí parametru „format“.

Představujeme tedy data, která jsou řazena podle sloupce data „události“ ve vzestupném pořadí.

Příklad 5: Třídění datového rámce pomocí metody Setorder() v R

Podobně je setorder() také další metodou pro třídění DataFrame. Třídí DataFrame tak, že vezme argument stejně jako metoda order(). R kód pro metodu setorder() je dán takto:

knihovna ( 'datová tabulka' )

d1 = data. rám ( číslo objednávky = C ( 1 , 4 , 2 , 5 , 3 ) ,

orderItem = C ( 'jablko' , 'oranžový' , 'kiwi' , 'mango' , 'banán' ) )

tisk ( nastavit pořadí ( d1 , orderItem ) )

Zde nejprve nastavíme knihovnu data.table, protože funkcí tohoto balíčku je setorder(). Poté použijeme funkci data.frame() k vytvoření DataFrame. DataFrame je specifikován pouze se dvěma sloupci, které používáme k řazení. Poté nastavíme funkci setorder() v rámci funkce print(). Funkce setorder() bere DataFrame „d1“ jako první parametr a sloupec „orderId“ jako druhý parametr, podle kterého je DataFrame seřazen. Funkce „setorder“ přeskupí řádky datové tabulky ve vzestupném pořadí na základě hodnot ve sloupci „orderId“.

Seřazený DataFrame je výstupem v následující konzoli R:

Příklad 6: Třídění datového rámce pomocí metody Row.Names() v R

Metoda row.names() je také způsob, jak třídit DataFrame v R. Metoda row.names() třídí DataFrames podle zadaného řádku.

df < - údaje. rám ( tým = C ( 'X' , 'X' , 'A' , 'A' , 'S' ) ,

skóre = C ( 91 , 80 , 86 , 83 , 95 ) )

řádek. jména ( df ) < - c ( 'A' , 'D' , 'C' , 'A' , 'B' )

df [ objednat ( řádek. jména ( df ) ) , ]

Zde je funkce data.frame() zavedena v rámci proměnné „df“, kde jsou sloupce specifikovány hodnotami. Poté jsou názvy řádků DataFrame specifikovány pomocí funkce row.names(). Poté zavoláme funkci order(), abychom seřadili DataFrame podle názvů řádků. Funkce order() vrací indexy seřazených řádků, které se používají k reorganizaci řádků DataFrame.

Výstup zobrazuje seřazený DataFrame podle řádků abecedně:

Závěr

Viděli jsme různé funkce pro třídění datových rámců v R. Každá z metod má výhodu a potřebuje operaci řazení. Existuje více metod nebo způsobů, jak třídit DataFrame v jazyce R, ale metody order(), aranžmá() a setorder() jsou nejdůležitější a snadno použitelné pro třídění.