用R語言畫詞雲圖(文本挖掘應用之一)>step by step
一、step by step 畫詞雲圖
#install.packages("tm")
library(tm)
#安裝tmcn包可能需要源碼安裝,安裝方法,到https://r-forge.r-project.org/R/?group_id=1571下載tmcn包源碼到E盤,然後在RStudio運行:install.packages("E/tmcn_0.1-4.zip")
library(tmcn)
#構建語料庫
#在"E:/Test"文件夾下新建一個txt文件,打開http://mp.weixin.qq.com/s?__biz=MzA3NTM2OTQwMg==&mid=504277338&idx=1&sn=6d4a45c98966611798e0b2060c083a2c&scene=18#wechat_redirect,按CTRL+A全選複製進去那個新建的txt文件,保存退出。
yuliaoku<-Corpus(DirSource("E:/Test",pattern="*.txt"),readerControl = list(language="UTF-8"))
#語料庫預處理
yuliaoku<-tm_map(yuliaoku,stripWhitespace)
#中文分詞
#install.packages("Rwordseg",repos = "http:/http://R-Forge.R-project.org",type = "source")
library(Rwordseg)
yuliaoku<-tm_map(yuliaoku,content_transformer(segmentCN),returnType="tm")
#篩選分詞的長度為1-5個字元,停用詞為stopwordsCN()集
control<-list(wordLengths=c(1,5),stopwords=stopwordsCN())
#分詞頻數統計
mt<-TermDocumentMatrix(yuliaoku,control = control)
#轉成向量矩陣
vmt<-as.matrix(mt)
#對分詞的頻數求和並排序
val<-sort(rowSums(vmt),decreasing = TRUE)
df<-data.frame(word=names(val),freq=val)
#畫詞雲圖
#install.packages("wordcloud")
library(wordcloud)
wordcloud(df$word,df$freq,min.freq = 3,random.order = FALSE,colors = rainbow(length(row.names(vmt))))
二、更加簡單的畫出更加好看的詞雲#install.packages("wordcloud2")
library(wordcloud2)
letterCloud(demoFreqC, word = M) #M是26個字母之一
效果如下:如對你有用請點個贊,僅供學習之用,如要轉載請註明出處,侵權必究!
推薦閱讀:
※7款免費的詞雲可視化工具,圖表控沒有理由拒絕啊!
※大數據文本挖掘告訴你,iPhone8的公關做的有多牛
※【乾貨】--手把手教你完成文本情感分類
※專欄文章分類及各類內容簡介
※短文相似度匹配