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

问题描述 投票:0回答:2

我正在尝试在R中创建日期序列而没有特定的日期。我使用以下代码创建序列:

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

但我不想删除某些日期,例如'2018-10-16'和'2018-9-12'。我不确定该怎么做。我是R的新手,不胜感激。

r seq as.date
2个回答
0
投票

您可以创建要删除的日期向量,然后使用%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))

0
投票

尝试使用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')
© www.soinside.com 2019 - 2024. All rights reserved.