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