天天看點

R語言進行詞雲分析一個小例子!用R語言中jiebaR包和wordcloud包進行詞雲分析

一個小例子!用R語言中jiebaR包和wordcloud包進行詞雲分析

jiebaR包

打開R語言,在程式包->安裝程式包中進行jiebaR的安裝。

jiebaR是一款高效的R語言中文分詞包,底層使用的是C++,通過Rcpp進行調用很高效。結巴分詞基于MIT協定,就是免費和開源的,感謝國人作者的給力支援,讓R的可以友善的進行中文文本。“結巴”中文分詞的R語言版本,支援最大機率法(Maximum Probability), 隐式馬爾科夫模型(Hidden Markov Model), 索引模型(QuerySegment), 混合模型(MixSegment), 共四種分詞模式, 同時有詞性标注,關鍵詞提取,文本Simhash相似度比較等功能。項目使用了Rcpp和CppJieba進行開發。

Wordcloud包

打開R語言,在程式包->安裝程式包中進行jiebaR的安裝。

Wordcloud包在做詞語分析時并沒有多大的作用,但是在後期的報告展示中卻起着很大的作用。雖然說實質大于形式,在實質能夠保證的前提下,一個好的形式是成功的關鍵點所在。Wordcloud包就是一個可以使詞頻以圖形的形式展示的軟體包,它可以通過改變詞雲的形狀和顔色,是的分析結果錦上添花。

小例子

用R語言中的jiebaR包和Wordcloud包對P2P網絡借貸細則進行詞雲分析。我們在分析中有兩個任務:

1、檢視詞頻最高的100個詞語;

2、畫詞雲圖。

代碼塊

R語言做詞雲分析的代碼如下:

library(jiebaR)
library(wordcloud)

#讀入資料分隔符是‘\n’,字元編碼是‘UTF-8’,what=''表示以字元串類型讀入
f <- scan('C:\\Users\\Administrator\\Desktop\\網絡借貸細則.txt',sep='\n',what='',encoding="GBK")
seg <- qseg[f] #使用qseg類型分詞,并把結果儲存到對象seg中
seg <- seg[nchar(seg)>] #去除字元長度小于的詞語

seg <- table(seg) #統計詞頻
seg <- seg[!grepl('[-]+',names(seg))] #去除數字
seg <- seg[!grepl('a-zA-Z',names(seg))] #去除字母
length(seg) #檢視處理完後剩餘的詞數
seg <- sort(seg, decreasing = TRUE)[:] #降序排序,并提取出現次數最多的前個詞語
seg #檢視個詞頻最高的
View(seg)
data=data.frame(seg)
data

wordcloud(data$seg , data$Freq, colors = rainbow(100), random.order=F)
x11()
dev.off()
           

通過上述代碼在R語言中運作後結果如下:

1、顯示100個詞頻最高的詞語顯示如下:

R語言進行詞雲分析一個小例子!用R語言中jiebaR包和wordcloud包進行詞雲分析

2、最後生成的詞雲圖如下:

R語言進行詞雲分析一個小例子!用R語言中jiebaR包和wordcloud包進行詞雲分析

當然,可以通過對參數的修改,改變詞雲的形狀和顔色。

以上便是一個用R語言做詞雲分析的簡單的例子!初學者可以參考一下!

繼續閱讀