Come ordinare un frame di dati per data in r (con esempi)


Esistono due semplici modi per ordinare un frame di dati per data in R:

Metodo 1: comando utente () dalla 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 "))),]

Metodo 2: utilizzare le funzioni dei pacchetti 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)))

Questo tutorial mostra un esempio di come utilizzare ciascuno di questi metodi nella pratica.

Metodo 1: usa order() da R base

Il modo più semplice per ordinare un frame di dati in base a una variabile di data in R è utilizzare la funzione R base order() . Il codice seguente mostra come utilizzare in pratica questa funzione:

 #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

Metodo 2: utilizzare Lubrificate e Dplyr

Un modo più veloce per ordinare un frame di dati in base alla variabile della data è utilizzare le funzioni nei pacchetti lubridate e dplyr. Il codice seguente mostra come utilizzare queste funzioni nella pratica:

 #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

Tieni presente che abbiamo utilizzato lubridate per specificare la data nel formato mdy() , ma puoi fare riferimento a questo foglietto illustrativo per vedere altri formati di data se la tua data è in un formato diverso.

Risorse addizionali

Come estrarre l’anno dalla data in R
Come aggregare i dati giornalieri in dati mensili e annuali in R
Come disporre le righe in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *