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

R tidyverse中筛选每年1月1日数据失败,day(date)==1为何不生效?

问题原因分析

核心原因:1月1日是美国法定节假日(新年),美股当天休市,没有交易数据

具体细节:

  • 标普500(^GSPC)的行情数据仅记录交易日的信息,非交易日(包括法定节假日、周末)不会生成数据条目。
  • 你用month(date) == 1, day(date) == 1筛选时,这些日期基本都是休市日,数据中根本不存在对应行,因此返回0结果。
  • 改为1月2日这类日期时,若当天不是周末或其他节假日,通常是新年后的首个交易日,所以能正常筛选出数据。

你可以用以下代码验证1月的所有交易日,确认是否存在1月1日的记录:

df %>% filter(month(date) == 1) %>% pull(date) %>% unique()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:05:32