stringr::str_replace_all()
может сделать это напрямую.Это то, что файл справки пытается кратко связать с «Vectorized over string
, pattern
и replacement
.»
Здесь я предполагаю, что ваш корпус хранится в символьном векторе,но это может быть и список персонажей.Если это сложнее (например, в JSON ...), то вам может потребоваться выполнить некоторую предварительную обработку, прежде чем передать его в str_replace_all()
.
. Обратите внимание, что в результате отбрасываются имена входных элементов, ноих было бы легко восстановить.
library(tidyverse)
(ecb_corpus <- c(
doc_1 = c("lorem ipsum interest rate gobbledygook"),
doc_2 = c("lorem dolor central bank foobar")
))
#> doc_1
#> "lorem ipsum interest rate gobbledygook"
#> doc_2
#> "lorem dolor central bank foobar"
replacements <- c("euro_area",
"monetary_policy",
"price_stability",
"interest_rates",
"second_question",
"medium_term",
"first_question",
"central_banks",
"inflation_expectations",
"structural_reforms")
targets <- replacements %>% str_replace_all("_", " ") %>% str_remove("s$")
(replacement_pairs <- replacements %>% set_names(targets))
#> euro area monetary policy price stability
#> "euro_area" "monetary_policy" "price_stability"
#> interest rate second question medium term
#> "interest_rates" "second_question" "medium_term"
#> first question central bank inflation expectation
#> "first_question" "central_banks" "inflation_expectations"
#> structural reform
#> "structural_reforms"
(ecb_ready <- ecb_corpus %>% str_replace_all(replacement_pairs))
#> [1] "lorem ipsum interest_rates gobbledygook"
#> [2] "lorem dolor central_banks foobar"
Создано в 2019-09-28 пакетом представитель (v0.3.0)