gpt4 book ai didi

r - 按月-日过滤

转载 作者:行者123 更新时间:2023-12-05 03:47:32 25 4
gpt4 key购买 nike

假设我有这样一个专栏:

Data
2020-03-25
2020-03-26
2020-03-27
2020-03-28
2020-03-29
2020-03-30
2020-03-31
...
2020-06-31

我想按三月、六月和九月过滤,但如果 31 不可用,则只使用日期 31 或 30。所以最后我想要:

Data
2020-03-31
2020-06-30
2020-09-30

我试过了

library(lubridate)

filter(data, month(data) == 3 | month(data) == 6 | month(data) == 9)
filter(data, day(data) == 31 | day(data) == 30)

但最后我得到了 31 和 30。如果 31 不可用,我应该如何获得 31 或 30?

最佳答案

您可以过滤第 3 个月、第 6 个月和第 9 个月,并选择每个月的最大日期,这将为您提供这些月份的最后可用日期。

library(dplyr)
library(lubridate)

df %>%
mutate(month = month(Data)) %>%
filter(month %in% c(3, 6, 9)) %>%
group_by(month) %>%
slice(which.max(Data)) -> result

result

关于r - 按月-日过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64852385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com