R:在数据框中仅包含工作日观察值,并包含所有天的观察值

时间:2019-11-06 13:56:58

标签: r date bizdays

我有一个数据框,其中有一个日期列和两列观测值。我想创建一个新的数据框,其中仅包含工作日的观察结果。

我尝试df=df[which(weekdays.Date(as.Date.dates(df$Date, format = "%Y-%m-%d")) %in% c('Rmetrics/NYSE')),]仅包含包含NYSE日历中日期的行。这没用。

1 个答案:

答案 0 :(得分:0)

library(chron)
library(lubridate)
library(timeDate)

df$Date <- ymd(df$Date)
df[!is.weekend(df$Date) & !(df$Date %in% holidayNYSE(2008:2010)),]

您可以使用timeDate::holidayNYSE()获取纽约证券交易所的假期日历。

> library(timeDate)
> holidayNYSE()
NewYork
[1] [2019-01-01] [2019-01-21] [2019-02-18] [2019-04-19] [2019-05-27] [2019-07-04] [2019-09-02]
[8] [2019-11-28] [2019-12-25]
> holidayNYSE(2008:2010)
NewYork
 [1] [2008-01-01] [2008-01-21] [2008-02-18] [2008-03-21] [2008-05-26] [2008-07-04]
 [7] [2008-09-01] [2008-11-27] [2008-12-25] [2009-01-01] [2009-01-19] [2009-02-16]
[13] [2009-04-10] [2009-05-25] [2009-07-03] [2009-09-07] [2009-11-26] [2009-12-25]
[19] [2010-01-01] [2010-01-18] [2010-02-15] [2010-04-02] [2010-05-31] [2010-07-05]
[25] [2010-09-06] [2010-11-25] [2010-12-24]
相关问题