r - 比较当前与以前的 Values

再次回到纸上一个简单的问题,但在实施方面遇到了困难。就上下文而言,这是着眼于嫌疑人和受害者,我们想要实现的是当前受害者是否与上一个受害者相同。如果是这样,嫌疑人的最新受害者与我们想要标记和保留的最后一个条目不同。如果它们相同,我们将删除记录。

所以比较是:

Date 1 上的嫌疑人 A 与受害者 1 相关 = Date 2 上的嫌疑人 A 与受害者 1 = 坠落

Date 1 上的嫌疑人 B 与受害者有关 2 = Date 上的嫌疑人 B 2 与受害者有关 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

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

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

一如既往,非常感谢任何帮助。

回答1

尝试这个:

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

相似文章

search - Binary Search 复杂性

binarysearch将n个元素的数组作为用户输入的时间复杂度是多少?由于binarysearch的时间复杂度是O(logn)而将数组作为用户输入的时间复杂度是O(n)...

最新文章