R でデータ フレームを日付で並べ替える方法 (例あり)
R でデータ フレームを日付で並べ替える簡単な方法が 2 つあります。
方法 1: 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 "))),]
方法 2: lubridateおよび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)))
このチュートリアルでは、これらの各メソッドを実際に使用する方法の例を示します。
方法 1: R ベースから order() を使用する
R の日付変数によってデータ フレームを並べ替える最も簡単な方法は、R の Base order()関数を使用することです。次のコードは、この関数を実際に使用する方法を示しています。
#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
方法 2: Lubridate と Dplyr を使用する
データ フレームを日付変数で並べ替えるより迅速な方法は、lubridate パッケージと dplyr パッケージの関数を使用することです。次のコードは、これらの関数を実際に使用する方法を示しています。
#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
mdy()形式で日付を指定するために lubridate を使用しましたが、日付が異なる形式の場合は、 このチートシートを参照して他の日付形式を確認できることに注意してください。