从两个文档语料库开始,每个语料库具有相同数量的文档:
library(tm)
c1 <- Corpus(VectorSource(c("document 1 corpus 1 text", "document 2 corpus 1 text")))
c2 <- Corpus(VectorSource(c("document 1 corpus 2 text", "document 2 corpus 2 text")))
我想要一个包含相同数量的文档的语料库,这些文档以元素的方式组合成一个文档,相当于:
c3 <- Corpus(VectorSource(c("document 1 corpus 1 text document 1 corpus 2 text",
"document 2 corpus 1 text document 2 corpus 2 text"))
搜索已经找到了tm_combine
函数,但它将来自不同语料库的文档组合成一个语料库,该语料库的文档数量是单个语料库的两倍(或者,单个文档的总和)。
可以遍历每个语料库并将相应的条目粘贴在一起。然后,转换回语料库:
Corpus(VectorSource(
mapply(function(x, y) paste(content(x), content(y)), c1, c2)
))
c4 <-
Corpus(VectorSource(c(
paste(data.frame(text=unlist(sapply(c1, `[`, "content")), stringsAsFactors=F)$text[1],
data.frame(text=unlist(sapply(c1, `[`, "content")), stringsAsFactors=F)$text[2]),
paste(data.frame(text=unlist(sapply(c2, `[`, "content")), stringsAsFactors=F)$text[1],
data.frame(text=unlist(sapply(c2, `[`, "content")), stringsAsFactors=F)$text[2]))))