У меня много сложных терминов, таких как hello World, good Morning, good Night, ... которые я хочу найти в моем корпусе, а затем заменить их их эквивалентом helloWorld, goodMorning, goodNight. Таким образом, я могу сохранить свою концепцию. Я могу сделать это один за другим, однако его очень утомительно, поскольку существует множество сложных терминов. Мне нужно сделать это на языке R.Как я могу найти составные слова, удаляя пробелы между ними и заменяя их в моем корпусе?
ответ
Если все условия соединения разделены только пробелами, вы можете использовать gsub
:
> x = c("hello World", "good Morning", "good Night")
> y = gsub(pattern = " ", replacement = "", x = x)
> print(y)
[1] "helloWorld" "goodMorning" "goodNight"
Вы всегда можете добавить больше шаблонов для pattern
аргумента. Узнайте больше о регулярном выражении в R here и here.
Редактировать
@ user4241750: Да, но я только хочу, чтобы сделать это для конкретного соединения термин (Есть много), не все слагаемые в корпусе, так как есть многие другие терминов в corpus
Если вы знаете все особые составные условия, которые хотите изменить, вы можете указать его на docs[[j]]
. Скажите, что единственными условиями, которые вы хотите изменить, являются «простые детали» и «доброе утро»:
terms.to.change = c("simple parts","good morning")
for (j in seq(corpus)) {
positions.to.change = which(docs[[j]] %in% terms.to.change)
docs[[j]][positions.to.change] <- gsub(" ", "", docs[[j]][positions.to.change])
}
У меня есть Корпус с 20 текстовыми файлами, Как я могу применить эти изменения в моем корпусе с gsub? – user4241750
Я пробовал gsub, но проблема в том, что я не хочу делать это вручную, так как требуется много времени. У меня есть эти термины в текстовом файле, каждый составной термин в отдельной строке, я ищу некоторые полезные коды, чтобы взять этот текстовый файл и удалить одеяло между ними, затем перейти к моему корпусу и заменить составные термины на новые термины (без одеяла между терминами) – user4241750
Не могли бы вы привести простой пример (в R-коде) того, что у вас есть? –
Что вы искали? Что ты нашел? Что вы пробовали до сих пор? Пожалуйста, поделитесь некоторыми попытками. –
Возможно, вы могли бы взглянуть на '? Gsub' – Vongo
Я пробовал gsub, но проблема в том, что я не хочу делать это вручную, так как требуется много времени. У меня есть эти термины в текстовом файле, каждый составной термин в отдельной строке, я ищу некоторые полезные коды, чтобы взять этот текстовый файл и удалить одеяло между ними, затем перейти к моему корпусу и заменить составные термины на новые термины (без одеяла между терминами) – user4241750