回复:
我有一个包含 N 个产品销售值的数据集,从一些 yyyy-mm-dd 到一些 yyyy-mm-dd,我只想过滤数据集中每个产品过去 12 个月的数据。
例如:假设我有从 2016-01-01 到 2020-02-01 的值,所以现在我想过滤过去 12 个月(即从 2019-02-01 到 2020-02-01)的销售值,但我不能只需提及“filter(Month >= as.Date("2019-04-01") & Month <= as.Date("2020-04-01"))”,因为我的案例的结束日期每次都会发生变化几个月过去了,所以我需要自动化这个案例。
您可以使用 :
library(dplyr)
library(lubridate)
data %>%
group_by(Product) %>%
filter(between(date, max(date) - years(1), max(date)))
#filter(date >= (max(date) - years(1)) & date <= max(date))
Run Code Online (Sandbox Code Playgroud)