如何使用 tm 在 R 中按元素连接两个文档语料库
How to concatenate, element-wise, two document corpora in R using tm
从两个文档语料库开始,每个语料库都有相同数量的文档:
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
功能,但是它将来自不同语料库的文档组合成一个语料库,文档数量是文档数量的两倍(或者,个体的总和)。
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]))))
您可以遍历每个语料库并将相应的条目粘贴在一起。然后,转换回语料库:
Corpus(VectorSource(
mapply(function(x, y) paste(content(x), content(y)), c1, c2)
))
从两个文档语料库开始,每个语料库都有相同数量的文档:
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
功能,但是它将来自不同语料库的文档组合成一个语料库,文档数量是文档数量的两倍(或者,个体的总和)。
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]))))
您可以遍历每个语料库并将相应的条目粘贴在一起。然后,转换回语料库:
Corpus(VectorSource(
mapply(function(x, y) paste(content(x), content(y)), c1, c2)
))