Как извлечь каждую строку, где Col2 соответствует любому Col1 в R - PullRequest
0 голосов
/ 20 марта 2020

У меня большой набор данных, 4000 наблюдений и две переменные. Две переменные являются символами, особенно именами. Я хочу удалить все строки, в которых col2 (Фамилия) не совпадает точно с символом ЛЮБОГО col 1 (Имя).

Вот посмотрите, как выглядит набор данных

Я пытался использовать% в%, но он возвращает строки, которые повторяются в 1 столбце, а не в столбцах.

Я видел много советов о том, как сопоставить одну, две или несколько указанных c строк символов с другим столбцом, а затем извлечь. Тем не менее, в этом случае я точно не знаю, какие именно строки c я хочу сопоставить. Я надеюсь найти способ для R найти эти перекрестные столбцы для меня.

Вот пример ввода df:

First  Last 

Joe    Weinberg
Hilton Alexander
Tom    Marshall
Fred   Hilton

Я бы хотел, чтобы вывод df выглядел так :

First  Last

Hilton Alexander
Fred   Hilton

Любая помощь будет принята с благодарностью

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Мы можем использовать subset как:

subset(df, First %in% Last | Last %in% First)

#   First      Last
#2 Hilton Alexander
#4   Fred    Hilton
0 голосов
/ 20 марта 2020

А как насчет чего-то простого?

library(dplyr)

names_to_drop <- df$First.Name

df <- df %>%
   filter(!(Last.Name %in% names_to_drop))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...