You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用dplyr提取最近3个月或6个月的时间序列数据

R dplyr 时间区间数据筛选方案

你已经加载了dplyr和lubridate包,可直接按以下方案执行筛选:

1. 提取2021-06-01至2021-09-30的全量数据

直接用filter()匹配日期区间即可:

# 方法1:直接指定起止日期
target_data <- mydata %>%
  filter(datex >= ymd("2021-06-01"), datex <= ymd("2021-09-30"))

# 也可以用between()简化写法
target_data <- mydata %>%
  filter(between(datex, ymd("2021-06-01"), ymd("2021-09-30")))

2. 动态筛选最近3个月的全量数据

如果要基于数据集的最大日期自动计算最近3个月区间,不需要手动修改起止日期,用以下写法:

recent_3m <- mydata %>%
  filter(datex >= max(datex) - months(3))

注:如果要包含完整自然月,可调整起始边界为当月首日:datex >= floor_date(max(datex) - months(3), unit = "month")

3. 动态筛选最近6个月的全量数据

逻辑和3个月筛选完全一致,仅调整月份参数即可:

recent_6m <- mydata %>%
  filter(datex >= max(datex) - months(6))

同样如果需要对齐完整自然月,替换为floor_date(max(datex) - months(6), unit = "month")作为起始边界即可

内容的提问来源于stack exchange,提问作者Faryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:09:05