如何找到R中的日期范围与其各自值之间的所有月份的第三个星期日日期

问题描述 投票:2回答:1

对于特定的日期范围,例如2020-01-29和2021-05-02之间的日期,我想在value中找出每个月的第三个星期日的日期以及与之相关的data.frame。] >

此外,如果任何月份中有第5个星期一,那么我想在单独的data.frame中获取其日期和相应的值。

请注意,它必须在data.frame中指定的日期范围之内。

## for creating data frame in R wrt dates and values
dates_seq<-(seq(as.Date("2019/12/28"), by = "day", length.out = 1000))
dates_seq<-as.data.frame(dates_seq)
values<-seq(1:1000)
df<-as.data.frame(cbind(dates_seq,values))

总而言之,我想找到每个月的第三个星期日日期和它的对应值,以及每个月的第五个星期一(如果有值的话。)>

对于特定的日期范围,例如2020-01-29和2021-05-02之间的日期,我想找出每个月的每个第三个星期日的日期以及它们在data.frame中的关联值。 ...

r lubridate
1个回答
1
投票

lubridate中的星期日是一周的第一天,此代码将为您提供一个包含所有第三个星期日的数据框:

df <- df %>%
  mutate(dates_seq = as.Date(dates_seq)) %>%
  mutate(year = year(dates_seq),
         month = month(dates_seq),
         day = wday(dates_seq)) %>%
  filter(day == 1) %>%
  group_by(year, month) %>%
  slice(3)
© www.soinside.com 2019 - 2024. All rights reserved.