R语言之词云:wordcloud&wordcloud2安装及参数说明

2019-01-14 16:54:20 浏览数 (2)

一、wordcloud安装说明

      install.packages("wordcloud");

二、wordcloud2安装说明

      install.packages("devtools");     

      devtools::install_github("lchiffon/wordcloud2",type="source") 

      错误提示:

      解决办法:

      install.packages("htmltools");

三、wordcloud参数说明

3.1 函数原型

wordcloud(words,freq,scale=c(4,.5),min.freq=3,max.words=Inf,random.order=TRUE, random.color=FALSE, rot.per=.1,colors="black",ordered.colors=FALSE,use.r.layout=FALSE,...)

3.2 常用参数

(1)words——关键词列表

(2)freq——关键词对应的词频列表

(3)scale——字号列表。c(最大字号, 最小字号)

(4)min.freq——最小限制频数。低于此频数的关键词将不会被显示。

(5)max.words——限制词云图上关键词的数量。最后出现在词云图上的关键词数量不超过此限制。

(6)random.order——控制关键词在图上的排列顺序。T:关键词随机排列;F:关键词按频数从图中心位置往外降序排列,即频数大的词出现在中心位置。

(7)random.color——控制关键词的字体颜色。T:字体颜色随机分配;F:根据频数分配字体颜色。

(8)rot.per——控制关键词摆放角度。T:水平摆放;F:旋转90度。

(9)colors——字体颜色列表

(10)ordered.colors——控制字体颜色使用顺序。T:按照指定的顺序给出每个关键词字体颜色,(似乎是要求颜色列表中每个颜色一一对应关键词列表);F:任意给出字体颜色。

(11)use.r.layout=T;F

四、wordcloud2参数说明

4.1 函数原型

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)

4.2 常用参数:

(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’(五边形);

备注:中文分词工具:

install.packages("Rwordseg", repos = "http://R-Forge.R-project.org")

示例程序:

#第一步,文本分词

require(Rwordseg)

test<- readLines("E:\FBB1.txt",encoding='UTF-8')     #读取数据

res = test[test != " "]      #读取test,且剔除test=“ ”

words = unlist(lapply(X = res,FUN = segmentCN))   #分词,并调整表结构,将有相同词频的词归类

word = lapply(X = words,FUN = strsplit," ")       #给每个词根据顺序赋个顺序指

v = table(unlist(word))               #重建表

v = sort(v,deceasing=T)           #降序排列

v[1:100]

head(v)                                           #给每列字段赋标题

d = data.frame(word = names(v),freq = v)         #更改标题

write.csv(d,"E:\学习.csv",header = T)          #导出数据,为下一步做准备

0 人点赞