Я предполагаю, что вы используете функцию is.holiday
из пакета chron
.Я бы рекомендовал не использовать этот пакет;функции даты в R улучшились с тех пор, как она была написана, и она не нужна.
Если вы хотите использовать is.holiday
, вам нужно предоставить список праздников в формате, ожидаемом chron
,Это не легко;см. этот вопрос Как определить праздники для пакета is.holiday () chron в R от 2016 года для обсуждения.
Но если вы предоставляете список праздников, вы ненужно is.holiday
.Просто используйте %in%
.Например,
holidays <- as.Date(c(NewYears = "2014-01-01", Christmas = "2014-12-25"))
# Add more to the list above...
# Convert your data plus a holiday to POSIXct format:
interv <- as.POSIXct(c("9/1/2014 00:00:25",
"9/1/2014 00:00:28",
"9/1/2014 00:00:40",
"1/1/2014 00:00:00"), format = "%m/%d/%Y %H:%M:%S")
# Extract the date:
dates <- as.Date(interv)
# Test if you've got a holiday:
dates %in% holidays
Это дает мне
[1] FALSE FALSE FALSE TRUE
в конце.