从 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')
我想在 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')