替换R

时间:2017-01-04 12:02:39

标签: 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”替换为“No”,将“puter”替换为“计算机”,将“Omg”替换为“Oh my God”等等,并将其替换为上述数据框中的句子。为此,我使用以下代码。

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

但这并没有取代句子中的单词。有人能告诉我这样做的正确方法吗?

2 个答案:

答案 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)