合并DF时删除重复项

Cha*_*abo 1 merge r

我知道,我知道....另一个合并的 Df 问题,请听我说,因为我已经搜索了关于这个问题的答案,但没有出现。

我正在合并两个 Df,一个比另一个小,并进行左合并,以将较长的 DF 与较小的 DF 相匹配。

这很有效,除了一个问题,当右侧(较长)df 有重复项时,行会添加到左侧(较小)df 中。

一个例子:

Row<-c("a","b","c","d","e")
Data<-(1:5)
df1<-data.frame(Row,Data)

Row2<-c("a","b","b","c","d","e","f","g","h")
Data2<-(1:9)
df2<-data.frame(Row2,Data2)

names(df2)<-c("Row","Data2")

DATA<-merge(x = df1, y = df2, by = "Row", all.x = TRUE)

>DATA
  Row Data Data2
1   a    1     1
2   b    2     2
3   b    2     3
4   c    3     4
5   d    4     5
6   e    5     6
Run Code Online (Sandbox Code Playgroud)

看到额外的“b”行?,这就是我想要摆脱的,我想保留左边的 DF,但非常严格,就像 DF1 中有 5 行,合并时我希望只有 5行。

像这样...

  Row Data Data2
1   a    1     1
2   b    2     2
3   c    3     4
4   d    4     5
5   e    5     6
Run Code Online (Sandbox Code Playgroud)

它只需要第一场比赛并继续前进。

我意识到合并功能只是在这里完成它的工作,那么还有另一种方法可以做到这一点以获得我的预期结果吗?或者是否应该进行合并后的修改。

感谢您的帮助和时间。

研究: 如何加入(合并)数据框(内、外、左、右)?

删除重复项

合并两个具有不同大小和缺失值的数据框

bou*_*all 5

我们可以duplicated按如下方式使用该函数:

DATA[!duplicated(DATA$Row),]

  Row Data Data2
1   a    1     1
2   b    2     2
4   c    3     4
5   d    4     5
6   e    5     6
Run Code Online (Sandbox Code Playgroud)