R - 根据两列识别并删除重复行

2024-03-25

我有一些数据看起来像这样:

Course_ID   Text_ID
33          17
33          17
58          17
5           22
8           22
42          25
42          25
17          26
17          26
35          39
51          39

由于没有编程背景,我发现很难清楚地表达我的问题,但这里是:我只想将行保留在Course_ID有所不同,但在哪里Text_ID是一样的。例如,最终数据将如下所示:

Course_ID   Text_ID
5           22
8           22
35          39
51          39

如你看到的,Text_ID22和39是唯一有不同的Course_ID价值观。我怀疑对数据进行子集化是可行的方法,但正如我所说,我在这类事情上是个新手,并且非常感谢任何有关如何处理此问题的建议。


选择那些没有重复的组Course_ID.

In dplyr你可以把它写成 -

library(dplyr)
df %>% group_by(Text_ID) %>% filter(n_distinct(Course_ID) == n()) %>% ungroup

#  Course_ID Text_ID
#      <int>   <int>
#1         5      22
#2         8      22
#3        35      39
#4        51      39

and in data.table -

library(data.table)
setDT(df)[, .SD[uniqueN(Course_ID) == .N], Text_ID]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - 根据两列识别并删除重复行 的相关文章

随机推荐