r - 如何访问 timeDate 中的 "correct"假期

标签 r date calendar

搜索了一下,但找不到这个问题的答案。本质上, 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 已设立了英国、美国、瑞士和加拿大,但七国集团的其他成员,特别是日本和澳大利亚却缺失了。也许这属于其他包?如果没有,我的计划基本上是修改现有的 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/

相关文章:

r - 转换日期时间格式以在 xts 中使用

sql - UTC时间对应的本地时间

Java:将带有时区缩写的日期字符串解析为日期对象

MySQL 日期查询现在更改字符串不起作用

mysql - 在 sql 结果中填充空日期的最直接方法是什么(在 mysql 或 perl 端)?

php - 在 PHP/MySQL 中创建周期性日历事件

c# 在默认的另一个日历中添加 session 请求

r - UpSetR 中的堆叠条形图

r - 包含唯一值数字的列

r - R中具有分类变量的线性模型