Найти дублированные символьные значения в двух столбцах с помощью dplyr - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть набор данных со столбцами, содержащими имена и фамилии.Я хочу отфильтровать те строки, в которых имя и фамилия совпадают.

Например, если в имени указано несколько раз «Питер» и фамилия Паркер, в данных, которые я хочу отфильтровать, эти строки.

На данный момент я попытался:

library(dplyr)
dat %>%
  filter(duplicated(as.numeric(`First name`)) & duplicated(as.numeric(`Last name`)))

Однако возвращаемые значения в имени и фамилии столбца не совпадают.

@ arg0naut

dat %>%
  filter(duplicated(paste0(`First name`, `Last name`)))

    # A tibble: 5 x 2
      `First name` `Last name`
      <chr>        <chr>      
    1 Frank        Seehaus    
    2 Nadine       Urseanu    
    3 Rudolf       Schicker   
    4 Renate       Kaymer     
    5 Brigitte     Reibenspies

Хочу увидеть:

    # A tibble: 5 x 2
      `First name` `Last name`
      <chr>        <chr>      
    1 Peter        Parker    
    2 Perer       Perker    
    3 Peter       Parker   
    ...

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете попробовать:

library(dplyr)

dat %>%
  filter(duplicated(paste0(`First name`, `Last name`)))

Вывод на основе данных ниже:

  First name Last name
1      Peter    Parker

Если вы хотите, чтобы все дубликаты были возвращены, вы можете сделать:

dat %>%
  group_by(`First name`, `Last name`) %>%
  filter(n() > 1)

Вывод на основе данных ниже:

# A tibble: 2 x 2
# Groups:   First name, Last name [1]
  `First name` `Last name`
  <fct>        <fct>      
1 Peter        Parker     
2 Peter        Parker 

Пример данных:

dat <-
  data.frame(
    `First name` = c("Peter", "Peter", "John", "John"),
    `Last name` = c("Parker", "Parker", "Biscuit", "Chocolate"),
    check.names = FALSE
  )

dat

  First name Last name
1      Peter    Parker
2      Peter    Parker
3       John   Biscuit
4       John Chocolate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...