"差分"文档术语矩阵

时间:2016-04-01 06:52:01

标签: r tm corpus term-document-matrix

假设我有一组100文件,70讲政治,30讲数学(奇怪的组合,我知道)。我的目标是通过多维缩放分析,网络分析,索姆等方法在xy上表示它们。当我考虑整套文档时,我喜欢这样:

  • 我制作了一个包含100个元素的语料库( docs );
  • 来自语料库我创建了一个文档术语矩阵( dtm );
  • 从dtm我创建一个距离矩阵( dist ),关于编写文档或文档本身的术语(根据我想要表示的内容)。

显然我可以为这两者制作单独的图形,但我想做一些与众不同的事情。 我有三个语料库( docs_tot docs_P docs_M )和三个文档术语矩阵( dtm_tot dtm_P dtm_M )。

解决方案:

1)表示xy文件的总数不同于政治文件和数学文件。通过这种方式,我可以看到它们是否代表xy上的自然簇。

2)对差异进行网络分析。有没有一种概念性的方法来进行子跟踪,例如 dtm_P dtm_tot ,知道 dtm_P 只有一个子集(70) dtm_tot 文件(100)?

1 个答案:

答案 0 :(得分:2)

听起来您可能会考虑使用comparison.cloud()。以下是wordcloud包的帮助页面中的示例:

library(tm)
library(wordcloud)
data(SOTU)
corp <- SOTU
corp <- tm_map(corp, content_transformer(tolower))
corp <- tm_map(corp, removeNumbers)
corp <- tm_map(corp, function(x)removeWords(x,stopwords()))
corp <- tm_map(corp, removePunctuation)
term.matrix <- TermDocumentMatrix(corp)
term.matrix <- as.matrix(term.matrix)
colnames(term.matrix) <- c("SOTU 2010","SOTU 2011")
comparison.cloud(term.matrix,max.words=40,random.order=FALSE)

component

这也适用于两个以上的组,如图所示,例如enter image description here

希望这有帮助。