select 行,其中 2 列的值被交换

select rows where the values of 2 columns are swapped

我有一个包含列表名称的数据集,我正在尝试查找任何重复但交换了名字和姓氏的条目。像这样:

df:
 ID  Last Name   First Name  
 1   Doe         Jane
 2   Smith       John
 3   Woods       Natalie
 4   Jane        Doe

我要:

df:
 ID  Last Name  First Name
 1   Doe        Jane
 4   Jane       Doe

谢谢!

使用 dplyr 的一个选项可能是:

df %>%
 group_by(Grp = paste(pmax(Last_Name, First_Name), pmin(Last_Name, First_Name))) %>%
 filter(n() > 1)

     ID Last_Name First_Name Grp     
  <int> <chr>     <chr>      <chr>   
1     1 Doe       Jane       Jane Doe
2     4 Jane      Doe        Jane Doe