如何删除特定日期(例如3月15日)之前的所有日期?
dates <- seq(as.Date("1990/1/1"), as.Date("1999/1/1"), "days")
我需要基于此向量对数据帧进行子集化。
答案 0 :(得分:3)
出于可读性考虑,我将使用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)]
答案 1 :(得分:0)
加起来使用Gregor的答案,但使用dplyr
:
library(dplyr)
library(lubridate)
filtered_df = df %>% filter((month(dates) == 3 & days(dates) >= 15) | month(dates) > 3)