romove групп в dataframe, если присутствует в другой df в R - PullRequest
1 голос
/ 03 апреля 2020

Здравствуйте, у меня есть два кадра данных, таких как:

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

, и я хотел бы только сохранить в df2 группы, которые присутствуют в df1, тогда группы 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?

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

С 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

Создано в 2020-04-03 пакетом Представлять (v0.3.0)

1 голос
/ 03 апреля 2020

Вы должны использовать функцию %in%.

df2[df2$Col1 %in% df1$Col1,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...