Здесь вы получите множество ответов с различными пакетами, но вы можете сделать это с помощью базы R и функции format()
.Вы извлекаете месяц и день, а затем используете отрицание для исключения високосных дат:
myDates <- myDates[!(format(myDates$Dates,"%m") == "02" & format(myDates$Dates, "%d") == "29"), , drop = FALSE]
format()
возвращает символы, поэтому нам нужно поместить "02"
и "29"
в кавычки.
Решение вопроса в комментариях
Приведенный выше код точно выполняет то, что вы спрашиваете:
myDates=data.frame(seq(as.Date("1979-01-01"), to=as.Date("2016-12-31"),by="days"))
names(myDates)= "Dates"
nrow(myDates)
#> [1] 13880
myDates <- myDates[!(format(myDates$Dates,"%m") == "02" & format(myDates$Dates, "%d") == "29"), ,drop = FALSE]
nrow(myDates)
#> [1] 13870
Создано 2019-04-08 пользователем Представить пакет (v0.2.1)