Использование gsub с несколькими условиями для замены списка слов в PDF - PullRequest
1 голос
/ 31 марта 2020

Следующий код работает в r:

pdf <- pdf_text("xyz.pdf") 
text <- c(pdf)
text_df <- tibble(line = 1:2, text = text)
words <- text_df %>%
unnest_tokens(word, text) 
x <- words
y <- gsub("apple","fruit", x) 
y

Мне нужна помощь в добавлении нескольких условий для подпрограммы:

Я также хотел бы заменить "банан", "фрукты" "" squa sh "," vegetable "

Могу ли я составить список для большого документа?

Спасибо

1 Ответ

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

Если это замена подстроки, опция может быть al oop с gsub. Создайте два вектора для шаблона и замены (одинаковой длины), затем l oop поверх последовательности вектора и выполните замену с помощью gsub и назначьте его для того же объекта

pat <- c("apple", "banana", "squash")
replace <- c("fruit", "fruit", "vegetable")
for(i in seq_along(pat)) x<- gsub(pat[i], replace[i], x)

Если это фиксированное совпадение, нам не нужно gsub, так как мы можем использовать именованный вектор для сопоставления и заменить

x <- c("apple", "apple", "banana", "squash", "banana")
unname(setNames(replace, pat)[x])
#[1] "fruit"     "fruit"     "fruit"     "vegetable" "fruit"  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...