对于我的数据框中的每个日期区间行,我想确定它是否与所有其他日期区间重叠。除了自己之外, 数据框包含开始日期和结束日期,表示时间间隔:
我希望使用int_overlap()迭代每个日期间隔,并将所有不包括它自己的日期间隔与其比较,以确定它是否与其他日期重叠。 输出应该像这样:
`data <- read.table(header=TRUE,text="
start.date end.date
2019-09-01 2019-09-10
2019-09-05 2019-09-07
2019-08-25 2019-09-05
2019-10-10 2019-10-15
")`
这个函数 lubridate::int_overlaps()
通过返回逻辑值 TRUE 或 FALSE 来检查两个日期区间是否重叠。
`int_overlaps(interval(ymd("2019-09-01"),ymd("2019-09-10")), interval(ymd("2019-09-05"), ymd("2019-09-07")))
[1] TRUE
int_overlaps(interval(ymd("2019-09-01"),ymd("2019-09-10")), interval(ymd("2019-10-10"), ymd("2019-10-15")))
[1] FALSE`
我希望使用int_overlap()迭代每个日期间隔,并将所有不包括它自己的日期间隔与其比较,以确定它是否与其他日期重叠。 输出应该像这样:
`data <- read.table(header=TRUE,text="
start.date end.date overlaps
2019-09-01 2019-09-10 TRUE
2019-09-05 2019-09-07 TRUE
2019-08-25 2019-09-05 TRUE
2019-10-10 2019-10-15 FALSE
")
`
any()
、map()
和seq_along()
寻找的答案。非常感谢你,Abubaker :) - Mohamed Mostafa El-Sayyad