Используя R, как извлечь несколько регулярных выражений из столбца набора данных в al oop и вернуть результаты в одном столбце - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю с набором данных, где у меня есть переменная "RH C" с нефильтрованными данными из диаграммы пациента, которые сопоставлены с идентификатором пациента. Эти данные выглядят так (точки просто обозначают текст между этими словами):

x<- data.frame(ID= 1:3, RHC= c("The patient..for follow up", "The patient...next appointment", "The patient.. if any concerns"))

Я пытаюсь выполнить несколько регулярных выражений в каждой строке, чтобы определить нужные мне шаблоны. Я правильно сделал регулярные выражения и подтвердил, что они работают в каждом конкретном случае. Например, "^RHC[\\s\\S]*(?=LHC.*)" находит все шаблоны между RH C и LH C в блоке текста.

Для каждой строки я хотел бы попытаться извлечь строку с помощью regex1, regex2, regexN, и др c. Если str_extract успешно с первым регулярным выражением, я хочу сохранить этот результат в новом столбце с именем RHC_extract. Если это не удастся, я бы хотел продолжать пробовать остальные регулярные выражения, пока что-нибудь не будет извлечено. Однако, как только регулярное выражение сработает, я хочу сохранить результат и перейти к следующей строке. Вот как будут выглядеть мои ожидаемые результаты.

x<- data.frame(ID= 1:3, RHC= c("The patient..for follow up", "The patient...next appointment", "The patient.. if any concerns"), RHC_extracted= c("RHC showed SVR23","Right heart cath showed SVR22","RHC with PVR24"))

Буду признателен за любую помощь !!

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