标记重复值(不仅是重复值)

时间:2018-04-13 08:58:46

标签: r duplicates

我遇到了以下问题。我有两个数据框(df1df2)我想left_join(df1, df, by=c("a", "b", "c"))使用三个变量abc。然后,我注意到,连接数据框中的行数增加了。因此,我检查了是否有任何重复的条目:

duplicated(paste(df1$a, df1$b, df1$c)
duplicated(paste(df2$a, df2$b, df2$c)

在两个数据帧中,我发现了几个重复的条目。现在我的问题是:在加入两个数据帧之前,如何排除这些重复项?我的问题是duplicated()只标记重复的值(即第二个外观)。我也想排除第一个外观。我希望你明白这一点。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

在没有示例的情况下难以提供具体的答案,但一种方法可能是为每个组合创建一个计数变量(重复时为> 1),然后过滤这些观察结果。

library(tidyverse)
x <- LETTERS[c(1,1:5)]
y <- LETTERS[c(1,1:5)]
df <- data.frame(x,y)

df <- df %>% 
  group_by(x,y) %>% 
  mutate(freq=n()) %>% 
  filter(!freq>1)