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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *