R - 如何用一个单词替换两个单词?

时间:2016-08-12 08:37:37

标签: r replace

让我们举个例子

我有一个名为wf的数据框,它有许多行,只有2列 第一列有两个单词,将由第二列一个单词

进行关联
wf
word1              word2
dikesh faldu    dikeshfaldu
any thing       anything
xyz asv         xyzasv
....
像这样有很多行假设n ..我已经有了这个变量,所以与wf无关。 我有一个Corpus,其中有2个文档有很多文本数据 所以我必须找到word1并从word2替换为wf 我怎么能这样做?

让我们假设

w <- read.csv("xyz.csv")
w <- as.vector(w)
corpus <- Corpus(vectorSource(w))

然后我想在word1中找到corpus并替换为word2

w <- "hello, dikesh faldu i want to replace word1 with word2 in this text data how can i do this xyz asv . where word1 is occured in this document i want to replace with word2"

我可以用这个

for (i in 1:nrow(wf)){
w <- gsub(wf[i,1],wf[i,2],w)
}

但在wf

的第一栏中,它不适用于两个单词

我想要这样的输出

hello, dikeshfaldu i want to replace word1 with word2 in this text data how can i do this xyzasv . where word1 is occured in this document i want to replace with word2

1 个答案:

答案 0 :(得分:0)

方法1:for loop和gsub函数

您可以使用gsub函数逐行将word1替换为word2。你只记得并理解R和gsub函数中for循环的结构,这个问题可以解决,虽然不是那么有效但是有效。

方法2:plyr包中的mapvalues函数

以下代码用向量b替换向量x中的1,2,3(向量a)。

library(plyr)
x = 1:4
a=c("A","B","C")
b=1:3
mapvalues(x,b,a)
[1] "A" "B" "C" "4"