Как сопоставить переменную со строкой в ​​кадре данных и выбрать переменную в другом столбце в той же строке? - PullRequest
1 голос
/ 02 октября 2019

У меня есть куча журналов чата, и я смог получить с них адреса электронной почты и отделить домены "@ bacon.edu". У меня есть список доменов, совпадающих с именем категории.

В основном я хочучтобы сопоставить переменную со строкой в ​​столбце 2, извлеките имя категории из столбца 1.

Я должен упомянуть, что все в настоящее время отформатировано как факторы , но это может измениться.

В этом примере d1 = "bacon.edu" и список имен представляет собой фрейм данных, настроенный так:

d1 = "bacon.edu"

Workplace Name  Email List
Pancake         @bac.edu
Test place      @toe.edu
superworld      @bacon.edu
monkey gym      @aclu.edu
toaster oven    @yoyo.edu

Цель состоит в том, чтобы найти бекон в строке 3 и создать переменнуюиз столбца 1, строка 3 (поэтому abc = "superworld"), но я изо всех сил пытаюсь найти переменную для начала.

Я пытался:

which(d1, namelist$Email.List)
which(namelist$Email.List == d1)
which(grep
match(d1, namelist$Email.list)
which(grepl("bacon.edu, namelist$Email.List

К сожалению, я невспомнить все ошибки или их происхождение, но они включают:

integer(0)
object class not logical
level sets of factors are different.

У меня есть смысл удалить неудачные попытки. Я уверен, что это просто, и я чувствую себя плохо, спрашивая, но любая помощь будет признательна!

1 Ответ

1 голос
/ 02 октября 2019

Мы можем использовать grep

namelist$1Workplace Name`[grep(d1, namelist$`Email List`)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...