A: lubridate を使用して月の最初または最後の日を取得する方法


次のメソッドを使用すると、 lubridateパッケージの関数を使用して、R の日付の月の最初または最後の日を取得できます。

方法 1: 月の最初の日を取得する

 library (lubridate)

df$first_day <- floor_date(ymd(df$date), ' month ')

方法 2: 月の最終日を取得する

 library (lubridate)

df$last_day <- ceiling_date(ymd(df$date), ' month ') - days( 1 )

次の例は、次のデータ フレームで各メソッドを実際に使用する方法を示しています。

 #create data frame
df <- data. frame (date=c('2022-01-05', '2022-02-18', '2022-03-21',
                        '2022-09-15', '2022-10-30', '2022-12-25'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

        dirty date
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46

例 1: Lubricant を使用して月の最初の日を取得する

次のコードは、lubridate パッケージのFloor_date()関数を使用して、日付列の各値の月の最初の日を取得する方法を示しています。

 #add new column that contains first day of month
df$first_day <- floor_date(ymd(df$date), ' month ')

#view updated data frame
df

        date sales first_day
1 2022-01-05 14 2022-01-01
2 2022-02-18 29 2022-02-01
3 2022-03-21 25 2022-03-01
4 2022-09-15 23 2022-09-01
5 2022-10-30 39 2022-10-01
6 2022-12-25 46 2022-12-01

新しいfirst_day列の値には、 date列の各値の月の最初の日が含まれることに注意してください。

: ymd()関数を使用して、最初に日付列の文字列を認識可能な日付形式に変換しました。

例 2: Lubridate を使用して月の最終日を取得する

次のコードは、lubridate パッケージのCeiling_date()関数を使用して、日付列の各値の月の最終日を取得する方法を示しています。

 #add new column that contains last day of month
df$last_day <- ceiling_date(ymd(df$date), ' month ') - days( 1 )

#view updated data frame
df

        date sales last_day
1 2022-01-05 14 2022-01-31
2 2022-02-18 29 2022-02-28
3 2022-03-21 25 2022-03-31
4 2022-09-15 23 2022-09-30
5 2022-10-30 39 2022-10-31
6 2022-12-25 46 2022-12-3122-12-01

新しいlast_day列の値には、 date列の各値の月の最後の日が含まれることに注意してください。

日付形式のオプションの詳細については、Lubridate のドキュメント ページを参照してください。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rで日付を数値に変換する方法
Rで日付から月を抽出する方法
R で日付に月を加算および減算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です