Posortuj DataFrame w R

Posortuj Dataframe W R



Sortowanie ramek danych w R jest kluczową operacją w analizie i manipulacji danymi. Co istotne, R zapewnia dużą elastyczność w sortowaniu danych na podstawie wielu kolumn i sortowaniu w porządku rosnącym lub malejącym. W języku R sortowanie ramek danych można przeprowadzić przy użyciu różnych metod i funkcji. W tym artykule omówimy różne funkcje, które pomogą nam posortować DataFrame w dowolnej z określonych kolejności.

Przykład 1: Sortowanie DataFrame za pomocą metody Order() w R

Funkcja order() w R służy do sortowania ramek danych według jednej lub wielu kolumn. Funkcja order pobiera indeksy posortowanych wierszy, aby zmienić kolejność wierszy DataFrame.

emp = dane. rama ( nazwy = C ( „Andy” , 'Ocena' , 'Bonnie' , 'Karolina' , 'Jan' ) ,

wiek = C ( dwadzieścia jeden , 23 , 29 , 25 , 32 ) ,

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

kot ( ' \N \N Ramka danych posortowana według nazw w porządku rosnącym \N ' )

posortowane_asc = emp [ z ( emp , zamówienie ( nazwy ) ) , ]

wydrukować ( posortowane_asc )

Tutaj definiujemy „emp” DataFrame z trzema kolumnami zawierającymi różne wartości. Funkcja cat() jest wdrażana w celu wydrukowania instrukcji wskazującej, że ramka danych „emp” według kolumny „nazwy” w porządku rosnącym zostanie posortowana. W tym celu używamy funkcji order() w R, która zwraca pozycje indeksu wartości w wektorze posortowanym rosnąco. W tym przypadku funkcja with() określa, że ​​kolumna „nazwy” powinna zostać posortowana. Posortowana ramka DataFrame jest przechowywana w zmiennej „sorted_asc”, która jest przekazywana jako argument w funkcji print() w celu wydrukowania posortowanych wyników.







W związku z tym posortowane wyniki kolumny DataFrame według kolumny „nazwy” w kolejności rosnącej są wyświetlane poniżej. Aby uzyskać operację sortowania w porządku malejącym, możemy po prostu podać znak minus z nazwą kolumny w poprzedniej funkcji order():





Przykład 2: Sortowanie DataFrame przy użyciu parametrów metody Order() w R

Ponadto funkcja order() pobiera malejące argumenty, aby posortować DataFrame. W poniższym przykładzie podajemy funkcję order() z argumentem sortowania w kolejności rosnącej lub malejącej:





df = dane. rama (

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

kurs = C ( 'Pyton' , 'Jawa' , „C++” , „MongoDB” , 'R' ) )

wydrukować ( „Posortowane malejąco według identyfikatora” )

wydrukować ( df [ zamówienie ( df $ id , malejący = PRAWDA ) , ] )

Tutaj najpierw deklarujemy zmienną „df”, w której funkcja data.frame() jest zdefiniowana z trzema różnymi kolumnami. Następnie używamy funkcji print(), w której drukujemy komunikat wskazujący, że DataFrame zostanie posortowana w kolejności malejącej na podstawie kolumny „id”. Następnie ponownie wdrażamy funkcję print(), aby przeprowadzić operację sortowania i wydrukować wyniki. Wewnątrz funkcji print() wywołujemy funkcję „order”, aby posortować ramkę danych „df” na podstawie kolumny „kurs”. Argument „malejący” jest ustawiony na PRAWDA, aby sortować w kolejności malejącej.

Na poniższej ilustracji kolumna „id” DataFrame jest ułożona w kolejności malejącej:



Aby jednak uzyskać wyniki sortowania w porządku rosnącym, musimy ustawić malejący argument funkcji order() na FAŁSZ, jak pokazano na poniższym rysunku:

wydrukować ( „Posortowane rosnąco według identyfikatora” )

wydrukować ( df [ zamówienie ( df $ id , malejący = FAŁSZ ) , ] )

Tam otrzymujemy dane wyjściowe operacji sortowania DataFrame według kolumny „id” w porządku rosnącym.

Przykład 3: Sortowanie DataFrame przy użyciu metody Arrange() w R

Dodatkowo możemy również użyć metody array() do sortowania DataFrame według kolumn. Możemy również sortować w porządku rosnącym lub malejącym. Poniższy podany kod R wykorzystuje funkcjęaranż() :

biblioteka ( 'dplyr' )

student = dane. rama (

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

znaki = C ( 70 , 90 , 75 , 88 , 92 ) )

wydrukować ( „Zwiększenie sortowania zamówień według identyfikatora” )

wydrukować ( zorganizować ( student , ID ) )

Tutaj ładujemy pakiet „dplyr” R, aby uzyskać dostęp do metody aranżacji () do sortowania. Następnie mamy funkcję data.frame(), która zawiera dwie kolumny i ustawia DataFrame w zmiennej „student”. Następnie wdrażamy funkcję array() z pakietu „dplyr” w funkcji print() w celu posortowania danej DataFrame. Funkcja Arrange() przyjmuje jako pierwszy argument „ucznia” DataFrame, po którym następuje „Id” kolumn do sortowania. Funkcja print() na końcu wyświetla posortowaną ramkę DataFrame na konsoli.

Możemy zobaczyć, gdzie kolumna „Id” jest posortowana w sekwencji w następującym wyniku:

Przykład 4: Sortowanie DataFrame według daty w R

DataFrame w R można również sortować według wartości dat. W tym celu funkcja sortowania musi zostać określona za pomocą funkcji as.date() w celu sformatowania dat.

Data wydarzenia = dane. rama ( wydarzenie = C ( „3.04.2023” , „2.02.2023” ,

„10.1.2023” , „29.03.2023” ) ,

opłaty = C ( 3100 , 2200 , 1000 , 2900 ) )

Data wydarzenia [ zamówienie ( Jak . Data ( data_zdarzenia $wydarzenie , format = '%d/%m/%Y' ) ) , ]

Tutaj mamy DataFrame „event_date”, która zawiera kolumnę „event” z ciągami dat w formacie „miesiąc/dzień/rok”. Musimy posortować te ciągi dat w porządku rosnącym. Używamy funkcji order(), która sortuje DataFrame według kolumny „event” w porządku rosnącym. Osiągamy to, konwertując ciągi dat w kolumnie „zdarzenie” na rzeczywiste daty za pomocą funkcji „as.Date” i określając format ciągów dat za pomocą parametru „format”.

W ten sposób przedstawiamy dane posortowane według kolumny daty „wydarzenie” w porządku rosnącym.

Przykład 5: Sortowanie DataFrame za pomocą metody Setorder() w R

Podobnie setorder() jest również inną metodą sortowania DataFrame. Sortuje ramkę DataFrame, przyjmując argument, tak jak metoda aranżacji(). Kod R dla metody setorder() jest podany w następujący sposób:

biblioteka ( 'Tabela danych' )

d1 = dane. rama ( identyfikator zamówienia = C ( 1 , 4 , 2 , 5 , 3 ) ,

element zamówienia = C ( 'jabłko' , 'Pomarańczowy' , 'kiwi' , 'mango' , 'banan' ) )

wydrukować ( ustawić porządek ( d1 , element zamówienia ) )

Tutaj najpierw ustawiamy bibliotekę data.table, ponieważ setorder() jest funkcją tego pakietu. Następnie używamy funkcji data.frame() do utworzenia DataFrame. DataFrame jest określona tylko z dwiema kolumnami, których używamy do sortowania. Następnie ustawiamy funkcję setorder() w ramach funkcji print(). Funkcja setorder() przyjmuje ramkę danych „d1” jako pierwszy parametr, a kolumnę „orderId” jako drugi parametr, według którego sortowana jest ramka danych. Funkcja „setorder” zmienia kolejność wierszy tabeli danych w kolejności rosnącej na podstawie wartości w kolumnie „orderId”.

Posortowana DataFrame jest wynikiem w następującej konsoli R:

Przykład 6: Sortowanie DataFrame przy użyciu metody Row.Names() w R

Metoda row.names() umożliwia również sortowanie ramek danych w R. Metoda row.names() sortuje ramki danych według określonego wiersza.

df < - dane. rama ( zespół = C ( 'X' , 'X' , 'I' , 'I' , 'Z' ) ,

wynik = C ( 91 , 80 , 86 , 83 , 95 ) )

wiersz. nazwy ( df ) < - C ( 'A' , 'D' , 'C' , 'I' , 'B' )

df [ zamówienie ( wiersz. nazwy ( df ) ) , ]

Tutaj funkcja data.frame() jest ustanawiana w zmiennej „df”, w której kolumny są określone z wartościami. Następnie nazwy wierszy DataFrame są określane za pomocą funkcji row.names(). Następnie wywołujemy funkcję order() w celu posortowania DataFrame według nazw wierszy. Funkcja order() zwraca indeksy posortowanych wierszy, które służą do reorganizacji wierszy DataFrame.

Dane wyjściowe pokazują posortowaną ramkę DataFrame według wierszy w kolejności alfabetycznej:

Wniosek

Widzieliśmy różne funkcje do sortowania ramek danych w R. Każda z metod ma przewagę i wymaga operacji sortowania. Może istnieć więcej metod lub sposobów sortowania DataFrame w języku R, ale metody order(), array() i setorder() są najważniejsze i najłatwiejsze w użyciu do sortowania.