我正在使用 tm 包在我的语料库上运行 LDA。我有一个包含 10,000 个文档的语料库。
rtcorpus.4star <- Corpus(DataframeSource(rt.subset.4star)) ##creates the corpus
rtcorpus.4star[[1]] ##accesses the first document
我正在尝试编写一段代码,在某些单词之后添加单词“specialword”。所以本质上:对于我选择的单词向量(good, nice, happy, fun, love),我希望代码循环遍历每个文档,并在这些单词之后添加单词“specialword”。
例如,给定这个文档:
I had a really fun time
我希望结果是这样的:
I had a really fun specialword time
问题是我不确定如何执行此操作,因为我不知道如何让代码在语料库中读取。我知道我应该做一个 for 循环(或者可能不做),但我不确定如何遍历每个文档中的每个单词,以及语料库中的每个文档。我还想知道我是否可以使用类似于在 tm_map 中工作的“翻译”功能的东西。
编辑::
做了一些尝试。此代码将“测试”返回为 NA。你知道为什么吗?
special <- c("poor", "lose")
for (i in special){
test <- gsub(special[i], paste(special[i], "specialword"), rtcorpus.1star[[1]])
}
编辑:想通了!!谢谢
special <- c("poor", "lose")
for (i in 1:length(special)){
rtcorpus.codewordtest <-gsub(special[i], paste(special[i], "specialword"), rtcorpus.codewordtest)
}