Jak posortować ramkę danych według daty w r (z przykładami)


Istnieją dwa proste sposoby sortowania ramki danych według daty w R:

Metoda 1: polecenie użytkownika () z bazy R

 #sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

Metoda 2: użyj funkcji pakietów lubridate i dplyr

 library (lubridate)
library (dplyr)

#sort from least recent to most recent 
df %>% arrange ( mdy (df$date))

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

W tym samouczku przedstawiono przykład wykorzystania każdej z tych metod w praktyce.

Metoda 1: użyj funkcji Order() z bazy R

Najprostszym sposobem sortowania ramki danych według zmiennej daty w R jest użycie funkcji podstawowej kolejności() . Poniższy kod pokazuje, jak w praktyce wykorzystać tę funkcję:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty dates
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

        dirty dates
1 10/30/2021 3
3 11/13/2021 14
2 11/18/2021 15
4 11/19/2021 9
#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

        dirty date
4 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
1 10/30/2021 3

Metoda 2: Użyj Lubridate i Dplyr

Szybszym sposobem sortowania ramki danych według zmiennej daty jest użycie funkcji z pakietów lubridate i dplyr. Poniższy kod pokazuje, jak w praktyce wykorzystać te funkcje:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty date
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df %>% arrange ( mdy (df$date))

        dirty date
1 10/30/2021 3
2 11/13/2021 14
3 11/18/2021 15
4 11/19/2021 9

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

        dirty date
1 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
4 10/30/2021 3

Pamiętaj, że użyliśmy lubridate do określenia daty w formacie mdy() , ale możesz skorzystać z tej ściągawki , aby zobaczyć inne formaty daty, jeśli Twoja data jest w innym formacie.

Dodatkowe zasoby

Jak wyodrębnić rok z daty w R
Jak agregować dane dzienne na dane miesięczne i roczne w R
Jak ułożyć linie w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *