創建單詞雲我試圖從短語列表中創建一個單詞雲,其中許多單詞都是重複的,而不是單個單詞。我的數據看起來像這樣,我的數據框的一列是短語列表。創建短語詞組的單詞雲,而不是R中的單個單詞
df$names <- c("John", "John", "Joseph A", "Mary A", "Mary A", "Paul H C", "Paul H C")
我想製作一個詞雲,其中所有這些名稱都被視爲顯示頻率的單個短語,而不是構成它們的單詞。我一直在使用的代碼如下所示:
df.corpus <- Corpus(DataframeSource(data.frame(df$names)))
df.corpus <- tm_map(client.corpus, function(x) removeWords(x, stopwords("english")))
#turning that corpus into a tDM
tdm <- TermDocumentMatrix(df.corpus)
m <- as.matrix(tdm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
pal <- brewer.pal(9, "BuGn")
pal <- pal[-(1:2)]
#making a worcloud
png("wordcloud.png", width=1280,height=800)
wordcloud(d$word,d$freq, scale=c(8,.3),min.freq=2,max.words=100, random.order=T, rot.per=.15, colors="black", vfont=c("sans serif","plain"))
dev.off()
這將創建一個詞雲,但它是每個組成詞,而不是短語。所以,我看到了「A」的相對頻率。 「H」,「約翰」等,而不是「約瑟夫A」,「瑪麗A」等的相對頻率,這正是我想要的。
我相信這不是很複雜的解決,但我不明白!我將不勝感激任何幫助。
謝謝,這完全解決了我的問題,非常清楚! – verybadatthis 2014-11-14 20:50:10
好 - 請注意'wordcloud'的'min.freq'參數可能會導致預期的輸出。 – keegan 2014-11-14 20:54:22