R の日付から週番号を取得する方法 (例あり)


次のメソッドを使用して、R の日付から週番号を取得できます。

方法 1: Base R を使用して週番号を取得する

 strftime(df$date_column, format = ' %V ')

方法 2: Lubridate パッケージを使用して週番号を取得する

 library (lubridate)

isoweek(ymd(df$ date_column ))

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

 #create data frame
df <- data. frame (date=as. Date (c('1/8/2022', '1/9/2022', '2/10/2022', '2/15/2022',
                                '3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'),
                 sales=c(8, 14, 22, 23, 16, 17, 23))

#view data frame
df

        dirty date
1 2022-01-08 8
2 2022-01-09 14
3 2022-02-10 22
4 2022-02-15 23
5 2022-03-05 16
6 2022-03-22 17
7 2022-03-27 23

例 1: Base R を使用して週番号を取得する

次のコードは、 strftime()関数を使用してデータ フレームの日付列から週番号を取得する方法を示しています。

 #add column to show week number
df$week_num <- strftime(df$date, format = " %V ")

#view updated data frame
df

        date sales week_num
1 2022-01-08 8 01
2 2022-01-09 14 01
3 2022-02-10 22 06
4 2022-02-15 23 07
5 2022-03-05 16 09
6 2022-03-22 17 12
7 2022-03-27 23 12

Week_numという新しい列には、日付列の値の週番号が表示されます。

: ドキュメントによると、 %V% が日付数値を計算する方法は次のとおりです。「その年の週番号 (週の最初の月曜日) を 10 進数で [01,53]」とします。 1 月 1 日を含む週に新年が 4 日以上ある場合、その週は第 1 週とみなされます。そうでない場合は、前年の最終週となり、次の週が第 1 週となります。

例 2: Lubridate パッケージを使用して週番号を取得する

次のコードは、 lubridateパッケージのisoweek()関数を使用して、データ フレームの日付列から週番号を取得する方法を示しています。

 #add column to show week number
df$week_num <- isoweek(ymd(df$date))

#view updated data frame
df

        date sales week_num
1 2022-01-08 8 1
2 2022-01-09 14 1
3 2022-02-10 22 6
4 2022-02-15 23 7
5 2022-03-05 16 9
6 2022-03-22 17 12
7 2022-03-27 23 12

Week_numという新しい列には、日付列の値の週番号が表示されます。

週番号は、前の例のstrftime()関数を使用して計算された番号と一致することに注意してください。

追加リソース

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

R でデータを月ごとにグループ化する方法
Rで日付から年を抽出する方法
Rで日付から月を抽出する方法
R でデータフレームを日付で並べ替える方法

コメントを追加する

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