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_ID
和 Text_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
对于上下文:这是我最近 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_ID
和 Text_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