如何从 R 中的 yearweek/weeknumber 中减去周数?
How to subtract a number of weeks from a yearweek/weeknumber in R?
我有几个感兴趣的周数。让我们以“202124”(本周)为例。如何从本周数中减去 x 周?
假设我想知道 2 周前的周数,理想情况下我想做 202124 - 2
,这会给我 202122
。这在一年中的大部分时间都很好,但是 202101 - 2
会给出 202099
,这显然不是有效的周数。这会大规模发生,因此需要更优雅的解决方案。我该怎么做?
将年周值转换为以天为单位减去的日期并格式化输出。
x <- c('202124', '202101')
format(as.Date(paste0(x, 1), '%Y%W%u') - 14, '%Y%V')
#[1] "202122" "202052"
要将年周值转换为日期,我们还需要星期几,我将其用作一周的第一天。
我有几个感兴趣的周数。让我们以“202124”(本周)为例。如何从本周数中减去 x 周?
假设我想知道 2 周前的周数,理想情况下我想做 202124 - 2
,这会给我 202122
。这在一年中的大部分时间都很好,但是 202101 - 2
会给出 202099
,这显然不是有效的周数。这会大规模发生,因此需要更优雅的解决方案。我该怎么做?
将年周值转换为以天为单位减去的日期并格式化输出。
x <- c('202124', '202101')
format(as.Date(paste0(x, 1), '%Y%W%u') - 14, '%Y%V')
#[1] "202122" "202052"
要将年周值转换为日期,我们还需要星期几,我将其用作一周的第一天。