我有一个日期向量,我想找出那些日期中的哪些属于某个日期间隔。例如:
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
但是它返回一个错误,指出“参数1不是公认的日期时间。”最好的方法是什么?
答案 0 :(得分:1)
您可以将其用作布尔表达式:
dates <- c(ymd("1999-1-1", "2000-1-1", "2001-1-1"))
results <- dates >= ymd("2000-12-25") & dates <= ymd("2005-1-1")
这将为您提供逻辑矢量。