在 R 中的季度(日期)中添加 +1

  • 本文关键字:添加 日期 季度 r
  • 更新时间 :
  • 英文 :


我有以下数据,我想为每个季度添加一个1(即将季度提前 1 个季度(

我可以做d$quarter + 1但这给了我第 4 季度作为"第 5 季度"。如何将第四季度结转到下一年的第 1 季度?

Data:

library(lubridate)
dates <- sample(seq(as.Date('2005/01/01'), as.Date('2010/01/01'), by="day"), 1000)
x_var <- rnorm(1000)
d <- data.frame(dates, x_var) %>%
mutate(quarter = quarter(dates),
year = year(dates))

您可以使用模 4 将 4 设置为 0,而无需将 1 更改为 3,然后添加 1:

d <- data.frame(dates, x_var) %>% mutate(quarter = (quarter(dates)%%4)+1, year = year(dates))

改为在日期列上执行此操作

d$nextquarter <- d$dates + months(3)
d2 <- d %>%  mutate(new_date = dates %m+% months(3)) %>% 
mutate(quarter2 = quarter(new_date),
year2 = year(new_date)) 

最新更新