首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用R组检测重叠日期

用R组检测重叠日期
EN

Stack Overflow用户
提问于 2020-04-20 22:31:22
回答 1查看 336关注 0票数 1

给定数据集

代码语言:javascript
复制
structure(list(intervention = c("Self Isolation", "Lockdown Low", 
"Lockdown Low", "Self Isolation", "Social Distancing", "Lockdown Low", 
"Social Distancing", "Handwashing"), date_start = structure(c(17897, 
17957, 18444, 17987, 17897, 17532, 17942, 18018), class = "Date"), 
    date_end = structure(c(17956, 18262, 18475, 18017, 17956, 
    18053, 18017, 18048), class = "Date")), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -8L))

如何检查“干预”是否有重叠日期?在这个例子中,所有的干预措施都是好的,但是“社会距离”和“封闭低”。

理想的输出将是一个数据框架,每行有一个干预,列中填充TRUE/FALSE,这取决于干预是否存在重叠。

( tidyverse解的额外点数。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 22:59:53

我们可以做summarise

代码语言:javascript
复制
library(dplyr)
df1 %>%
    arrange(intervention, date_start, date_end) %>% 
    group_by(intervention) %>%
    summarise(overlapping = any(date_start < lag(date_end, 
         default = first(date_end)) & row_number() != 1))
# A tibble: 4 x 2
#  intervention      overlapping
#  <chr>             <lgl>      
#1 Handwashing       FALSE      
#2 Lockdown Low      TRUE       
#3 Self Isolation    FALSE      
#4 Social Distancing TRUE       
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61333135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档