2015-12-17 5 views
-5

У меня много сложных терминов, таких как hello World, good Morning, good Night, ... которые я хочу найти в моем корпусе, а затем заменить их их эквивалентом helloWorld, goodMorning, goodNight. Таким образом, я могу сохранить свою концепцию. Я могу сделать это один за другим, однако его очень утомительно, поскольку существует множество сложных терминов. Мне нужно сделать это на языке R.Как я могу найти составные слова, удаляя пробелы между ними и заменяя их в моем корпусе?

+1

Что вы искали? Что ты нашел? Что вы пробовали до сих пор? Пожалуйста, поделитесь некоторыми попытками. –

+0

Возможно, вы могли бы взглянуть на '? Gsub' – Vongo

+0

Я пробовал gsub, но проблема в том, что я не хочу делать это вручную, так как требуется много времени. У меня есть эти термины в текстовом файле, каждый составной термин в отдельной строке, я ищу некоторые полезные коды, чтобы взять этот текстовый файл и удалить одеяло между ними, затем перейти к моему корпусу и заменить составные термины на новые термины (без одеяла между терминами) – user4241750

ответ

0

Если все условия соединения разделены только пробелами, вы можете использовать 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]) 
} 
+0

У меня есть Корпус с 20 текстовыми файлами, Как я могу применить эти изменения в моем корпусе с gsub? – user4241750

+0

Я пробовал gsub, но проблема в том, что я не хочу делать это вручную, так как требуется много времени. У меня есть эти термины в текстовом файле, каждый составной термин в отдельной строке, я ищу некоторые полезные коды, чтобы взять этот текстовый файл и удалить одеяло между ними, затем перейти к моему корпусу и заменить составные термины на новые термины (без одеяла между терминами) – user4241750

+0

Не могли бы вы привести простой пример (в R-коде) того, что у вас есть? –

 Смежные вопросы

  • Нет связанных вопросов^_^