【问题标题】:how do I access "correct" holidays in timeDate如何在 timeDate 中访问“正确”的假期
【发布时间】:2014-05-11 04:16:04
【问题描述】:

四处搜索,但找不到答案。从本质上讲,timeDate 包有一些尚未公开的内部代码,我想知道如何获取它:

> USDecorationMemorialDay(2013)

GMT
[1] [2013-05-30]

> holidayNYSE(2013)

NewYork
[1] [2013-01-01] [2013-01-21] [2013-02-18] [2013-03-29] [2013-05-27] [2013-07-04] [2013-09-02] [2013-11-28] [2013-12-25]

所以你可以在这里看到 USDecorationMemorialDay 函数是错误的,因为阵亡将士纪念日是五月的最后一个星期一。然而,在假期纽约证券交易所功能中,他们以某种方式实施了更正,因此它给出了[2013-05-27]。这是怎么回事?

更大的图景 我真的很想按国家/地区制定国定假日日历。 timeDate 已经建立了英国、美国、瑞士和加拿大,但 G7 的其余部分,尤其是日本和澳大利亚却不见了。也许这属于其他包?如果不是,我的计划基本上是混合修改现有的 timeDate 函数并编写那些不存在的函数。某个地方的某个人可能已经这样做了?

【问题讨论】:

    标签: r date calendar


    【解决方案1】:

    您可以通过在控制台中键入不带括号的函数名称来检查函数 holidayNYSE 函数。您可以在此处查看相关部分

    if (y <= 1970) 
       holidays <- c(holidays, as.character(USDecorationMemorialDay(y)))
    if (y >= 1971) 
       holidays <- c(holidays, as.character(USMemorialDay(y)))
    

    显然,USDecorationMemorialDay 是一个不复存在的节日,仅与 1971 年之前的年份相关。

    对于您更大的问题,我不知道有任何 R 包可以做到这一点。也许你可以从网上的某个地方刮下来?

    【讨论】:

    • 1968 年 6 月 28 日,国会通过了《统一星期一假期法》,将包括阵亡将士纪念日在内的四个假期从传统日期移至指定的星期一,以创造一个方便的三天周末.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2021-12-30
    相关资源
    最近更新 更多