R:在数据框架中只包括工作日的观察结果以及所有天的观察结果



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

我尝试过df=df[which(weekdays.Date(as.Date.dates(df$Date, format = "%Y-%m-%d")) %in% c('Rmetrics/NYSE')),]只包括包含纽约证券交易所日历中日期的行。这不起作用。

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]

最新更新