【发布时间】:2019-06-24 02:36:52
【问题描述】:
我有 1000 个主题的数据,每个 ID 都有多行。以下是我数据中个人的摘录:
ID servicedate firstdate group firstdateplus90
AAA 01/01/2019 01/01/2019 A 04/01/2019
AAA 03/01/2019 01/01/2019 B 04/01/2019
我想删除所有主题,例如 AAA,在自日期 1 起的 90 天时间范围内,它们有一行表明它们在不同的组中。在上面的示例中,受试者 AAA 从 A 组开始,但到 2019 年 3 月 1 日,也就是 04/01/2019 之前(自日期 1 起 90 天),他们在 B 组。
我首先尝试创建一个新变量,告诉我们主题在第一次约会时所在的组:
mydata <- mydata %>% group_by(ID) %>%
mutate(first_group= {if(firstdate == servicedate) group[min(which(firstdate == servicedate))] else NA})
但我不确定从这里去哪里,或者是否有一种更简单的方法可以将那些在 firstdateplus90 中的组不等于 firstdate 的组进行子集化。
感谢任何帮助!
【问题讨论】:
标签: r time conditional-statements subset