1

以下代码生成一个简单的比较云:

library(tm)
library(wordcloud)
text1<- "cat cat dog dog dog bird bird bird bird bike bike bike"
text2<- "cat cat dog dog dog dog fish fish fish fish car car"
tmpText <- data.frame(c(text1, text2))
row.names(tmpText)<- c("text1", "text2")
ds <- DataframeSource(tmpText)
corp <- Corpus(ds)
corp <- tm_map(corp, PlainTextDocument)
corp <- tm_map(corp, content_transformer(tolower))
corp<- tm_map(corp, removePunctuation)
tm <- TermDocumentMatrix(corp)
tm<- as.matrix(tm)
colnames(tm) <- c("text1", "text2")
comparison.cloud(tm, , scale=c(5, 1))

我有两个问题:

1-如果两个单词在多个文档中具有相同的频率,包如何决定将其显示在一个子云中 VS 其他

2-根据文档:“每个单词......它的角度位置由出现最大值的文档确定。” 我在没有种子的情况下多次运行比较云,我无法理解解释,我用谷歌搜索解释,没有找到太多,“角度位置”在这种情况下是什么意思?

非常感谢帮助

乔丹

4

1 回答 1

0

这是我对如何comparison.cloud布置结果的理解。从术语文档矩阵开始:

> tm
      Docs
Terms  text1 text2
  bike     3     0
  bird     4     0
  car      0     2
  cat      2     2
  dog      3     4
  fish     0     4

set.seed(19)
comparison.cloud(tm, scale=c(5, 1), random.order = FALSE, title.size = 1)

上面代码中的情节,在我重新运行之前每次运行 set.seed(19),如下所示。

在此处输入图像描述

对于字体大小,正如文档解释的那样,“每个单词的大小都映射到其最大偏差”。因此,“bird”在 text1 中为 4,但在 text2 中为 0,因此这是两个文本之间的最大“偏差”和最大的字体;“fish”也是 4-0(但是 text2 有 4 个实例,所以它的颜色不同)并且在相同大小的字体中,bike 是 3-0,依此类推,直到“cat”没有偏差是最小的字体.

至于一个术语的“角度位置”,文档神秘地解释说“它的角度位置由出现最大值的文档确定”。该图似乎将按字母顺序排列在平局之前的最大偏差项放在中心,并通过不太清楚的公式列出其他项。

颜色由实例最多的文本决定,因此“dog”是 3 个 text1 和 4 个 text2,因此 text2 是棕色的。诸如“猫”之类的关系似乎被分配给具有该术语的第一个文本,但我没有测试任何这种解释。

于 2015-05-23T18:37:16.030 回答