首页 > 解决方案 > 如果重复超过 5 次,如何删除行?

问题描述

我真的很拼命地寻找答案。我只有一列具有重复的 ID。我想要这样的代码:

ID
a
a
a
a
a
b
b
b
b
b

因此,如果有 6 个 a,则应删除第 6 行。

标签: r

解决方案


这里有几个选项。按“ID”列分组,slice前 5 行(带有headrow_number()

library(dplyr)
df1 %>%
    group_by(ID) %>%
    slice(head(row_number(), 5))

或 withfilter创建基于row_number()“ID”列分组后的逻辑表达式

df1 %>%
   group_by(ID) %>%
   filter(row_number() < 6)

推荐阅读