我有一个包含一列句子列表的数据框。现在我有一个单词列表和另一个替换单词列表如下。
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”替换为“No”,将“puter”替换为“计算机”,将“Omg”替换为“Oh my God”等等,并将其替换为上述数据框中的句子。为此,我使用以下代码。
DF$Sentences<- str_replace_all( DF$Sentences, paste0("\\b",words,"\\b"), trans)
但这并没有取代句子中的单词。有人能告诉我这样做的正确方法吗?
答案 0 :(得分:3)
我们可以使用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 :(得分:1)
您可以使用stri_replace_all_fixed
中的stringi
或类似内容vectorize_all=FALSE
,例如
stri_replace_all_fixed(DF[["Sentences"]], words, trans, vectorize_all=FALSE)