从 R 中的日期序列中删除某些元素

Remove certain elements from a sequence of dates in R

我想在 R 中创建一个没有特定日期的日期序列。我使用以下代码创建序列:

date_range<- seq(as.Date("2018-1-1"),as.Date("2018-12-31"), by='days')

但我不想删除某些日期,例如“2018-10-16”和“2018-9-12”。我不知道该怎么做。 我是 R 的新手,非常感谢任何帮助。

您可以创建一个要删除的日期向量,然后使用 %in%

remove_dates <- as.Date(c('2018-10-16', '2018-9-12'))
all_dates <- seq(as.Date("2018-1-1"),as.Date("2018-12-31"), by='days')
all_dates[!all_dates %in% remove_dates]

或者用setdiff

as.Date(setdiff(all_dates, remove_dates))

试试 between

library(dplyr)
date_range[!between(date_range,  as.Date('2018-9-12'), as.Date('2018-10-16'))]

如果只有这些日期,则使用

as.Date(setdiff(date_range, c("2018-09-12", "2018-10-16")), origin = '1970-01-01')