私は最近、日付を扱うRで問題に遭遇しました。 2015年の最後の日(2015-12-31)は木曜になり、週の開始日を日曜日と考えると、その週の最後の週には5日しか含まれません。今週金曜日と土曜日の2016-01-01と2016-01-02は53週目に関連し、2016-01-03は1日目に始まります。これは日曜日に始まります。土曜日に日曜日に週の最初の日を開始し、土曜日にその年の最後の日を終了します。
df:
range WKN weekday weeknum
2015-12-26 52 Saturday 7
2015-12-27 53 Sunday 1
2015-12-28 53 Monday 2
2015-12-29 53 Tuesday 3
2015-12-30 53 Wednesday 4
2015-12-31 53 Thursday 5
2016-01-01 1 Friday 6
2016-01-02 1 Saturday 7
2016-01-03 2 Sunday 1
2016-01-04 2 Monday 2
は今、私は次のように私のデータフレームを持っていると思います:
require(lubridate)
range <- seq(as.Date('2015-12-26'), by = 1, len = 10)
df <- data.frame(range)
df$WKN <- as.numeric(strftime(df$range, format = "%U")) + 1
df$weekday <- weekdays(df$range)
df$weeknum <- wday(df$range)
これは私に次のような結果を与えるだろう
df:
range WKN weekday weeknum
2015-12-26 52 Saturday 7
2015-12-27 53 Sunday 1
2015-12-28 53 Monday 2
2015-12-29 53 Tuesday 3
2015-12-30 53 Wednesday 4
2015-12-31 53 Thursday 5
2016-01-01 53 Friday 6
2016-01-02 53 Saturday 7
2016-01-03 1 Sunday 1
2016-01-04 1 Monday 2
誰もがすることを自動化する方向に私を指すでした毎年コードを変更する必要はありませんか?あなたが?strptime
をチェックアウトする場合