下面的代码生成了一个简单的比较云:
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-如果两个单词在多个文档中具有相同的频率,软件包如何决定将其显示在一个子云中而不是其他子云中
2-根据文档:“每个单词……它的角度位置由出现最大值的文档决定。”我多次运行比较云没有种子,我不能理解解释,我做了谷歌搜索解释,没有找到太多,在这个上下文中“角度位置”是什么意思?
非常感谢您的帮助
MJJ
发布于 2015-05-24 02:37:16
这是我对comparison.cloud如何展示结果的理解。从术语document matrix开始:
> 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),结果如下所示。

对于字体大小,正如文档所解释的那样,“每个单词的大小都映射到它的最大偏差”。因此,“鸟”在text1中是4,但在text2中是0,所以这是两个文本和最大字体之间的最大“偏差”;“鱼”也是4-0 (但text2有4个实例,所以它的颜色不同),在相同大小的字体中,自行车是3-0,依此类推,没有偏差的“猫”是最小的字体。
至于术语的“角度位置”,文档隐含地解释说,“它的角度位置由出现最大值的文档确定”。该图似乎将按字母顺序排列的最大偏差项放在中间的平局之前,并通过一个不太清楚的公式排列其他项。
颜色由实例最多的文本决定,因此"dog“是3 text1和4 text2,因此是text2棕色。领带,例如“猫”似乎被分配给第一个具有该术语的文本,但我没有测试任何这种解释。
https://stackoverflow.com/questions/30413161
复制相似问题