2015-05-23 23 views
1

下面的代碼產生一個簡單的比較雲:řcomparison.cloud角位置

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)) 

我有2個問題:

1-如果兩個詞有在多個文檔中的相同頻率,如何封裝決定將其顯示在一個子雲中VS其他

2-根據文檔:「每個字...其角位置由最大發生的文檔決定。」我多次運行比較雲,沒有種子,我無法理解解釋,我做了谷歌搜索解釋,沒有發現太多,在這種情況下,「角位置」是什麼意思?

幫助是極大的讚賞

MJJ

回答

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),每個前我重新它的時候,在下面。

enter image description here

對於字體大小,如文檔解釋的,「每個字的大小被映射到它的最大偏差」。因此,「bird」在text1中是4,而在text2中是0,所以這是兩個文本和最大字體之間最大的「偏差」; 「魚」也是4-0(但text2有4個實例,所以它的顏色是不同的),並且在同樣大小的字體中,自行車是3-0,等等直到「貓」,沒有偏差是最小的字體。

至於術語的「角度位置」,文件解密地解釋說:「其角度位置由最大出現的文件確定。」該圖似乎將中心線上的字母順序排在最前面的最大偏差項,並用一個不太清晰的公式列出其他偏差項。

顏色由具有最多實例的文本確定,因此「狗」是3個text1和4個text2,因此text2爲棕色。領帶,如「貓」似乎被分配到第一個文本中有這個詞,但我沒有測試任何這種解釋。

+0

讀取從GitHub時,#顏色=#文檔的源代碼,被預定和固定: 顏色= brewer.pal(NcoI位(term.matrix), 「深色2」) ..... 文本(X1 ,y1,words [i],cex = size [i],offset = 0,srt = rotWord * 90, col = colors [group [i]],...) #group [i]文本屬於 MJJDeveloper – MJJ