我有如下数据
concat Type ddate TTIME
1348 - 2019-06-10 B 6/10/2019 12:34:03
1348 - 2019-06-10 A 6/10/2019 12:38:02
1348 - 2019-06-10 B 6/10/2019 13:37:15
1348 - 2019-06-11 A 6/11/2019 14:35:20
1348 - 2019-06-11 B 6/11/2019 18:01:01
1348 - 2019-06-11 A 6/11/2019 18:02:42
1348 - 2019-06-11 B 6/11/2019 19:59:34
我正在尝试为concat组添加标记,如果最短时间=类型A,而最大时间=类型B,则需要为concat组的所有订单项添加包含。其他需要将特定concat组的所有订单项标记为排除,如下所示:
concat Type ddate TTIME Category
1348 - 2019-06-10 B 6/10/2019 12:34:03 Exclude
1348 - 2019-06-10 A 6/10/2019 12:38:02 Exclude
1348 - 2019-06-10 B 6/10/2019 13:37:15 Exclude
1348 - 2019-06-11 A 6/11/2019 14:35:20 Include
1348 - 2019-06-11 B 6/11/2019 18:01:01 Include
1348 - 2019-06-11 A 6/11/2019 18:02:42 Include
1348 - 2019-06-11 B 6/11/2019 19:59:34 Include
我尝试如下所示,但无法生成所需的输出
df1 = df1 %>%
arrange(concat, time) %>%
group_by(concat) %>%
mutate(
Category = ifelse((TTIME == min(TTIME) & Type =="A") & (TTIME == max(TTIME) & Type =="B"),"Include","Exclude"))
答案 0 :(得分:0)
我会考虑分离这些条件,以使其更易于使用。
为说明示例,您可以重新编码行,其中min
的{{1}}与TTIME
(以及Type == "A"
和max
相似)。 / p>
然后,要包含一个组,该组必须同时包含“ A”和“ B”。
这是否符合您的逻辑?
Type == "B"