Удалить все даты до определенной даты во всех годах - PullRequest
0 голосов
/ 17 апреля 2019

Как удалить все даты до определенной даты, скажем, 15 марта?

dates <- seq(as.Date("1990/1/1"), as.Date("1999/1/1"), "days")

Мне нужно было бы установить подкадр данных на основе этого вектора.

Ответы [ 2 ]

3 голосов
/ 17 апреля 2019

Я бы использовал lubridate для удобства чтения:

library(lubridate)
dates[month(dates) > 3 | (month(dates) == 3 & day(dates) >= 15)]

Базовая версия той же логики:

dates[as.integer(format(dates, "%m")) > 3 |
    (as.integer(format(dates, "%m")) == 3 & as.integer(format(dates, "%d")) >= 15)]
0 голосов
/ 17 апреля 2019

Добавление ответа Грегора, но с использованием dplyr:

library(dplyr)
library(lubridate)

filtered_df = df %>% filter((month(dates) == 3 & days(dates) >= 15) | month(dates) > 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...