Een dataframe sorteren op datum in r (met voorbeelden)
Er zijn twee eenvoudige manieren om een dataframe op datum in R te sorteren:
Methode 1: gebruikersopdracht () vanaf de R-basis
#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 "))),]
Methode 2: gebruik de functies van de lubridate- en dplyr- pakketten
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)))
Deze tutorial toont een voorbeeld van hoe u elk van deze methoden in de praktijk kunt gebruiken.
Methode 1: gebruik order() van R base
De eenvoudigste manier om een dataframe te sorteren op een datumvariabele in R is door de functie R base order() te gebruiken. De volgende code laat zien hoe u deze functie in de praktijk kunt gebruiken:
#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
Methode 2: Gebruik Lubridate en Dplyr
Een snellere manier om een dataframe op datumvariabele te sorteren is door de functies in de pakketten lubridate en dplyr te gebruiken. De volgende code laat zien hoe u deze functies in de praktijk kunt gebruiken:
#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
Merk op dat we lubridate hebben gebruikt om de datum in mdy() -formaat op te geven, maar je kunt dit spiekbriefje raadplegen om andere datumformaten te zien als je datum in een ander formaat is.
Aanvullende bronnen
Hoe jaar uit datum te extraheren in R
Hoe u dagelijkse gegevens kunt samenvoegen tot maandelijkse en jaarlijkse gegevens in R
Hoe lijnen in R te rangschikken