Мой набор данных состоит из нескольких адресов электронной почты, чьи домены я пытаюсь очистить:
id <- c(1,2,3,4,5)
email <- c('jim@chase.com','steve@aol.com','stacy@gmail.com/','chris@yahoo.com','emilio@verizon.net/')
sample <- data.frame(id,email)
Я пытаюсь удалить строки на основе импортированного файла .txt, содержащего домены; например, домены.txt состоит из
chase.com verizon.net
Я читаю .txt файл с
domains <- read_file('C:\\\\me\\domains.txt')
domains <- strsplit(domains, ' ')
но тогда я в растерянности относительно того, как успешно их очистить. Я пробовал два решения, одно с кодом regex
и одно без:
sample <- sample[!(paste0('^',domains,'$') %in% sample$email)]
sample$domains <- grepl(paste0('^',domains,'$'),sample$email)
sample <- subset(sample, domains == FALSE, select = c(id,email))
Первый преобразует мои данные в тиббл (что приводит к ошибке Column indexes must be at most 4 if positive, not 5, 6, 7, 8, 9, 10
всякий раз, когда я пытаюсь их отобразить), а второй возвращает FALSE
для всех доменов, включая те, которые содержат домены, перечисленные в domains
переменная.
Как я могу создать «поиск и уничтожение» regex
, используя переменную, если в строке есть текст по обе стороны от переменной, которую также необходимо прочитать?