四处搜索,但找不到这个问题的答案。本质上,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 函数是错误的,因为阵亡将士纪念日是五月的最后一个星期一。然而,在holidayNYSE函数中,他们以某种方式实现了修正,因此它给出了[2013-05-27]。那是怎么回事?

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

最佳答案

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

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

显然,USDecorationMemorialDay 是一个已失效的假期,仅与 1971 年之前的年份相关。

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

关于r - 我如何在 timeDate 中访问 "correct"假期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22768109/

10-09 18:18