将年和周列转换为月R

时间:2018-09-25 19:25:01

标签: r date lubridate dayofweek week-number

我想根据年份和星期数确定月份。这个问题很独特,因为它缺少这些示例Transform year/week to date objectConvert week number to date中所需的星期几信息。

year <- c("2017", "2017", "2018")
week <- c("37", "53", "01")
month <- lubridate::month(as.Date(paste0(year, "-", week), format = "%Y-%V"))

> month
[1] 9 9 9

由于某种原因,这会为我的向量中的每个元素返回9。 9月是第一次观察的正确月份,但其余两个月则不能。

预期输出:

> month
[1] 9 12 1

编辑:事实证明,如果不知道星期几,就不可能解决此任务。我将尝试找到一种针对年份/日期的解决方法,以完全避免该问题。

1 个答案:

答案 0 :(得分:-2)

尝试一下:

> year <- c(2017, 2017, 2018)
> week <- c(37, 53, 01)
> month <- lubridate::month(as.Date(paste0(year, "-", week, "-", 10), format = "%Y-%U-%u"))
> month
 [1] 9 NA 1

在这里获得不适用的原因,因为它将计算直到第52周的月份。