国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

R語言利用wordcloud2繪制詞云

2019-11-14 10:03:42
字體:
來源:轉載
供稿:網友

本次的重點繪制詞云,所以并不太重視其他分析方面的論述。

本機環境:

window 10

R x64 3.3.0

R包:

tmcn:詞頻統計

Wordcloud2:繪制詞云

Rwordseg:分詞

由于tmcn和Rwordseg包在R3.3.0的版本中沒有可以直接在線下載安裝,所以需要去搜索并且本地安裝

附Rwordseg和tmcn的下載鏈接,注意安裝Rwordseg前需要配置java環境,這里就不具體闡述了,百度即可。

https://r-forge.r-PRoject.org/R/?group_id=1054

https://r-forge.r-project.org/R/?group_id=1571

數據文件:

本次采用自主爬蟲的數據文件csv(豆瓣電影:我不是潘金蓮)的評論語料

數據樣式截圖如下:

關于此爬蟲的代碼與文件,需要可以下載,如失效,也可留言

鏈接:http://pan.baidu.com/s/1kVe9cMj 密碼:84ft

前期導入清理、分詞、詞頻統計

library(Rwordseg)library(tmcn)library(wordcloud2)data <- read.csv("d.csv",encoding="utf-8")data <- unique(data)# 去除重復的數據

#去除評論中含有的英文和數字

text <- gsub('[a-zA-Z0-9]','',data$comment)

#插入自定義詞匯

words <- c('范冰冰')

insertWords(strwords=words)

#分詞

segword <- segmentCN(strwords=text)

#創建停止詞庫,并轉為向量格式

mystopwords <- read.table("stop_words.txt",stringsAsFactors=FALSE)

mystopwords <- as.vector(mystopwords[,1])

#自定義刪除停止詞函數

removewords <- function(target_words,stop_words)

{

target_words <- target_words[target_words%in%stop_words==FALSE]

return(target_words)

}

segword2 <- sapply(X=segword,FUN=removewords,mystopwords)

開始繪制詞云

首先介紹下wordcloud2這個函數

wordcloud2(data, size = 1, minSize = 0, gridSize =  0,  

    fontFamily = NULL, fontWeight = 'normal',  

    color = 'random-dark', backgroundColor = "white",  

    minRotation = -pi/4, maxRotation = pi/4, rotateRatio = 0.4,  

    shape = 'circle', ellipticity = 0.65, widgetsize = NULL)  

常用參數:

(1)data:詞云生成數據,包含具體詞語以及頻率;

(2)size:字體大小,默認為1,一般來說該值越小,生成的形狀輪廓越明顯;

(3)fontFamily:字體,如‘微軟雅黑’;

(4)fontWeight:字體粗細,包含‘normal’,‘bold’以及‘600’;;

(5)color:字體顏色,可以選擇‘random-dark’以及‘random-light’,其實就是顏色色系;

(6)backgroundColor:背景顏色,支持R語言中的常用顏色,如‘gray’,‘blcak’,但是還支持不了更加具體的顏色選擇,如‘gray20’;

(7)minRontatin與maxRontatin:字體旋轉角度范圍的最小值以及最大值,選定后,字體會在該范圍內隨機旋轉;

(8)rotationRation:字體旋轉比例,如設定為1,則全部詞語都會發生旋轉;

(9)shape:詞云形狀選擇,默認是‘circle’,即圓形。還可以選擇‘cardioid’(蘋果形或心形),‘star’(星形),‘diamond’(鉆石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五邊形);

#繪制文字云

word_freq <- getWordFreq(string=unlist(segword2))

一切使用默認參數

wordcloud2(word_freq)

提取前1000個,并改變形狀

wordcloud2(word_freq[0:1000,],size=1,shape='star',fontFamily="微軟雅黑")

#繪制出出現頻率最高的前50個詞

wordcloud2(word_freq[0:1000,],size=1,shape='star',fontFamily="微軟雅黑")

#自定義圖片,只要是黑白圖片即可,文字默認會畫在黑色部分上

wordcloud2(word_freq,figPath='horse.png',size=0.5,shape='star',fontFamily="微軟雅黑")

其實到這里很多參數你都可以隨意嘗試,怎么好看怎么調。歡迎大家對此多多提提意見,我也不知道該寫什么好了,謝謝!大笑


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊川县| 沂源县| 大洼县| 邛崃市| 京山县| 南川市| 本溪市| 衡水市| 乐亭县| 垣曲县| 石渠县| 台江县| 瓦房店市| 潮州市| 德阳市| 阜宁县| 霍山县| 商河县| 南安市| 信丰县| 福清市| 太原市| 马公市| 利津县| 平顶山市| 双流县| 昌吉市| 桐乡市| 仁怀市| 吴堡县| 基隆市| 九寨沟县| 沁源县| 响水县| 民县| 怀来县| 固原市| 九龙县| 杭锦后旗| 镇康县| 南宁市|