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

首頁 > 學院 > 開發(fā)設計 > 正文

R語言利用wordcloud2繪制詞云

2019-11-14 09:05:59
字體:
來源:轉載
供稿:網(wǎng)友

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

本機環(huán)境:

window 10

R x64 3.3.0

R包:

tmcn:詞頻統(tǒng)計

Wordcloud2:繪制詞云

Rwordseg:分詞

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

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

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

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

數(shù)據(jù)文件:

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

數(shù)據(jù)樣式截圖如下:

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

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

前期導入清理、分詞、詞頻統(tǒng)計

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

#去除評論中含有的英文和數(shù)字

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

#插入自定義詞匯

words <- c('范冰冰')

insertWords(strwords=words)

#分詞

segword <- segmentCN(strwords=text)

#創(chuàng)建停止詞庫,并轉為向量格式

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

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

#自定義刪除停止詞函數(shù)

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這個函數(shù)

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)  

常用參數(shù):

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

(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:字體旋轉角度范圍的最小值以及最大值,選定后,字體會在該范圍內(nèi)隨機旋轉;

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

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

#繪制文字云

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

一切使用默認參數(shù)

wordcloud2(word_freq)

提取前1000個,并改變形狀

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

#繪制出出現(xiàn)頻率最高的前50個詞

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

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

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

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岳阳市| 来安县| 麦盖提县| 象山县| 太谷县| 科技| 邵武市| 南通市| 沁阳市| 洪雅县| 浑源县| 九江市| 卢氏县| 望奎县| 崇义县| 调兵山市| 新河县| 大埔县| 桐乡市| 广东省| 涪陵区| 普陀区| 砀山县| 利辛县| 合阳县| 徐汇区| 枞阳县| 信阳市| 定日县| 堆龙德庆县| 东山县| 泽普县| 黎平县| 普格县| 刚察县| 利川市| 广元市| 城固县| 揭东县| 崇信县| 霍城县|