将当前值与以前的值进行比较

Comparing Current Against Previous Values

再次回到纸面上的一个简单问题,但在实施过程中遇到困难。对于上下文,这是在查看嫌疑人和受害者,我们想要实现的是当前受害者是否与上一个受害者相同。如果是这样,则怀疑最新的受害者与我们希望标记并保留的最后一个条目不同。如果它们相同,我们将删除记录。

所以比较是:

日期 1 的嫌疑人 A 与受害人 1 相关 = 日期 2 的嫌疑人 A 与受害人 1 相关 = Drop

日期 1 的嫌疑人 B 与受害人 2 有关 = 日期 2 的嫌疑人 B 与受害人 3 有关 = 保留

Date Suspect Victim
15/01/2022 A 1
12/03/2022 A 1
19/02/2022 B 2
16/01/2022 B 3
08/03/2022 B 4
20/03/2022 B 5
25/01/2022 C 5
21/02/2022 D 6
10/01/2022 D 7

假设这是我当前的数据集。在这种情况下 'Suspect' 应该只有两个条目 B 和 D,而 A 和 C 被删除。

我正在考虑安排约会和嫌疑人。然后比较滞后。但是如果跳跃嫌疑人,滞后是如何工作的。可以用组变量解决吗?这就是我坚持概念化它并害怕删除应该包括的东西的地方。

一如既往的帮助,我们将不胜感激。

试试这个:

dat %>%
  group_by(Suspect) %>%
  filter(n() > 1 & Victim != last(Victim))
# # A tibble: 4 x 3
# # Groups:   Suspect [2]
#   Date       Suspect Victim
#   <chr>      <chr>    <int>
# 1 19/02/2022 B            2
# 2 16/01/2022 B            3
# 3 08/03/2022 B            4
# 4 21/02/2022 D            6