需要的程序包
jiebaR,jiebaRD:分詞
wordcloud2:繪制詞云
installpackage('jiebaR','jiebaRD','wordcloud2) #安裝程序包
運(yùn)行程序包
library(jiebaR,jiebaRD)
library(wordcloud2)
導(dǎo)入數(shù)據(jù)
news <- read.csv(''C:/Users/Administrator/Desktop/news.csv'') #讀取csv格式文件
news <- read_excel(''C:/Users/Administrator/Desktop/news.csv'') #讀取xls 和 xlsx 格式文件

text<-news$x #提取文本數(shù)據(jù)所在列
分詞
mixseg<-worker("mix") #建立模型分詞
a<-segment(text,mixseg) #開始分詞
去停用詞
需要將對(duì)研究無(wú)意義的詞去除,再次只提供了示例代碼。
stopwords <- read.table("C:/Users/Thinkpad/Desktop/停用詞.txt")
class(stopwords)
stopwords <- as.vector(stopwords[,1])
wordResult <- removeWords(a,stopwords)
繪制詞云
freq<-table(a) #詞頻統(tǒng)計(jì)
freq #查看詞頻統(tǒng)計(jì)結(jié)果
wordcloud2(freq,shape='star') #繪制詞云

發(fā)福的星星型詞云!
參數(shù)解讀
wordcloud2(data, size = 1, minSize = 0, gridSize = 0,
fontFamily = 'Segoe UI', fontWeight = 'bold',
color = 'random-dark', backgroundColor = "white",
minRotation = -pi/4, maxRotation = pi/4, shuffle = TRUE,
rotateRatio = 0.4, shape = 'circle', ellipticity = 0.65,
widgetsize = NULL, figPath = NULL, hoverFunction = NULL)
data:包含每列中的word和freq的數(shù)據(jù)幀,按照word出現(xiàn)的順序由內(nèi)向外畫圖(可以按照freq降序美化wordcloud)。
size:字體大小,默認(rèn)為1。較大的大小意味著較大的單詞。
fontFamily:要使用的字體。
fontWeight:字體重量,例如normal, bold or 600
color:文本的顏色,可以使用關(guān)鍵字random-dark和random-light。也支持顏色矢量。
minSize:字幕的字符串
backgroundColor:背景的顏色。
gridSize:用于標(biāo)記畫布可用性的網(wǎng)格大小,網(wǎng)格大小越大,單詞之間的差距越大。
minRotation:文本應(yīng)該旋轉(zhuǎn)的最小旋轉(zhuǎn)(以rad為單位)。
maxRotation:文本應(yīng)旋轉(zhuǎn)的最大旋轉(zhuǎn)(以rad為單位)。
rotateRatio:?jiǎn)卧~旋轉(zhuǎn)的概率。將數(shù)字設(shè)置為1以始終旋轉(zhuǎn)。
shape:繪制“云”的形狀。 ‘circle’ (default), ‘cardioid’ (心形’,蘋果或心形曲線,最知名的極坐標(biāo)方程), ‘diamond’ (菱形), ‘triangle-forward’(三角形前移), ‘triangle’(三角形), ‘pentagon’(五角形), and ‘star
ellipticity:平坦度
figPath:畫布路徑