如何将日期向量中的每个日期与另一个日期进行比较
How to compare each date within a vector of dates to another date
我有一个日期向量,我想找出哪些日期属于某个日期间隔。例如:
library(lubridate)
df$dates <- c(ymd("1999-1-1", "2000-1-1", "2001-1-1"))
comparison_interval <- interval(ymd("2000-12-25"), ymd("2005-1-1"))
我想将向量与规定的时间间隔进行比较,以查看该向量中的哪些日期在该时间间隔内。最终我想要一个可以放入数据框中的布尔向量。所以在上面的例子中,我想要一个 FALSE、FALSE、TRUE 的向量。我试过使用 %within%
df$dates %within% comparison_interval
但是 returns 出现错误“参数 1 不是可识别的日期时间”。执行此操作的最佳方法是什么?
您可以将其作为布尔表达式来执行:
dates <- c(ymd("1999-1-1", "2000-1-1", "2001-1-1"))
results <- dates >= ymd("2000-12-25") & dates <= ymd("2005-1-1")
这会给你一个逻辑向量。
我有一个日期向量,我想找出哪些日期属于某个日期间隔。例如:
library(lubridate)
df$dates <- c(ymd("1999-1-1", "2000-1-1", "2001-1-1"))
comparison_interval <- interval(ymd("2000-12-25"), ymd("2005-1-1"))
我想将向量与规定的时间间隔进行比较,以查看该向量中的哪些日期在该时间间隔内。最终我想要一个可以放入数据框中的布尔向量。所以在上面的例子中,我想要一个 FALSE、FALSE、TRUE 的向量。我试过使用 %within%
df$dates %within% comparison_interval
但是 returns 出现错误“参数 1 不是可识别的日期时间”。执行此操作的最佳方法是什么?
您可以将其作为布尔表达式来执行:
dates <- c(ymd("1999-1-1", "2000-1-1", "2001-1-1"))
results <- dates >= ymd("2000-12-25") & dates <= ymd("2005-1-1")
这会给你一个逻辑向量。