首页 > 解决方案 > 如果存在于 R 中的另一个 df 中,则删除数据框中的组

问题描述

您好,我有两个数据框,例如:

df1

Col1
Groupe1 
Group2 
Group3 
Group5 
Group8 

df2

Col1 Col2
Groupe1 A
Group1 A
Group1 R
Group1 S
Group2 T
Group2 C
Group3 D
Group3 E
Group3 F
Group4 G
Group4 H
Group4 I
Group5 J
Group6 K
Gourp5 L
Group7 M
Group7 N
Group8 O
Group8 P
Group6 Q

我只想将 df1 中存在的组保留在 df2 中,然后删除组 4,6 和 7:

Col1 Col2
Groupe1 A
Group1 A
Group1 R
Group1 S
Group2 T
Group2 C
Group3 D
Group3 E
Group3 F
Group5 J
Gourp5 L
Group8 O
Group8 P
Group6 Q

有人对R有想法吗?也许dplyr

标签: rdplyr

解决方案


使用 dplyr:

library(dplyr)

df2 %>% 
  left_join(df1)
#> Joining, by = "Col1"
#>       Col1 Col2
#> 1  Groupe1    A
#> 2   Group1    A
#> 3   Group1    R
#> 4   Group1    S
#> 5   Group2    T
#> 6   Group2    C
#> 7   Group3    D
#> 8   Group3    E
#> 9   Group3    F
#> 10  Group4    G
#> 11  Group4    H
#> 12  Group4    I
#> 13  Group5    J
#> 14  Group6    K
#> 15  Gourp5    L
#> 16  Group7    M
#> 17  Group7    N
#> 18  Group8    O
#> 19  Group8    P
#> 20  Group6    Q

reprex 包(v0.3.0)于 2020-04-03 创建


推荐阅读