Como classificar um quadro de dados por data em r (com exemplos)
Existem duas maneiras simples de classificar um quadro de dados por data em R:
Método 1: comando do usuário () da base 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 "))),]
Método 2: use as funções dos pacotes lubridate e 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)))
Este tutorial mostra um exemplo de como usar cada um desses métodos na prática.
Método 1: use order() da base R
A maneira mais simples de classificar um quadro de dados por uma variável de data em R é usar a função R base order() . O código a seguir mostra como usar esta função na prática:
#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
Método 2: Use Lubridate e Dplyr
Uma maneira mais rápida de classificar um quadro de dados por variável de data é usar as funções dos pacotes lubridate e dplyr. O código a seguir mostra como usar essas funções na prática:
#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
Observe que usamos lubridate para especificar a data no formato mdy() , mas você pode consultar esta folha de dicas para ver outros formatos de data se sua data estiver em um formato diferente.
Recursos adicionais
Como extrair o ano da data em R
Como agregar dados diários em dados mensais e anuais em R
Como organizar linhas em R