R - 识别并删除重复行的一个实例

R - Identify and remove ONE instance of duplicate rows

对于上下文:这是我最近 post编辑的这个查询的后续:

我需要做一些与我在 post 中描述的非常相似的事情,但让我在这里完整解释一下。

我有一些数据看起来像这样(如果它是相关的,还有许多其他列和其他数据):

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_IDText_ID 有两个或更多匹配值的任何实例。例如,在上面的数据中,两列的前两行相同(33 和 17)。我只需要删除这些重复行中的其中一行。

最终数据应该是这样的:

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

我之前 post 中提供的解决方案删除了​​任何重复行的所有实例。

提前致谢。

subset(df, !duplicated(df[c('Course_ID', 'Text_ID')]))
   Course_ID Text_ID
1         33      17
3         58      17
4          5      22
5          8      22
6         42      25
8         17      26
10        35      39
11        51      39

甚至

df[!duplicated(df[c('Course_ID', 'Text_ID')]), ]

如果只有2列如图,直接unique(df)

这个有用吗:

library(dplyr)
df %>% group_by(Course_ID, Text_ID) %>% distinct()
# A tibble: 8 x 2
# Groups:   Course_ID, Text_ID [8]
  Course_ID Text_ID
      <dbl>   <dbl>
1        33      17
2        58      17
3         5      22
4         8      22
5        42      25
6        17      26
7        35      39
8        51      39