2017-01-04 2 views
0

У меня есть dataframe со списком предложений в одном столбце. Теперь у меня есть список слов и другой список замещающих слов следующим образом.Заменить список слов, присутствующих в предложениях, в R

DF 

Date  Sentences 
9-Nov-16 nah, i got rid of them overyears ago i was only watching pbs by then anyway i have xfinity on demand+netflix on my 'puter 
9-Nov-16 Omg Netflix is working on my Xfinity! 

и так далее

Список слов

words <- c("nah","'puter","Omg") 
trans <- c("No","computer","Oh my God") 

и так далее.

Теперь я хочу заменить «Nah» на «Нет», «« puter »на« computer »,« Omg »с« Oh my God »и т. Д. В предложениях, присутствующих в вышеуказанной части данных. Для этого я использую следующий код.

DF$Sentences<- str_replace_all(DF$Sentences, paste0("\\b",words,"\\b"), trans) 

Но это не заменяет слова в предложении. Может ли кто-нибудь сказать мне правильный способ сделать это?

ответ

2

Мы можем использовать mgsub из qdap

library(qdap) 
DF$Sentences <- mgsub(words, trans, DF$Sentences) 

Или в for петле с gsub

for(j in seq_along(words)){ 
    DF$Sentences <- gsub(words[j], trans[j], DF$Sentences) 
} 
1

Вы можете использовать stri_replace_all_fixed или тому подобное из stringi с vectorize_all=FALSE, например

stri_replace_all_fixed(DF[["Sentences"]], words, trans, vectorize_all=FALSE) 
Смежные вопросы