今天给大家写一写文本挖掘的基础操作-----词云图的制作,像这样:
词云图是一个很好的展示文本内容的方法。
word cloud is “an image composed of words used in a particular text or subject, in which the size of each word indicates its frequency or importance。
在词云图中,字越大说明这个词词频越高,也就越重要,今天就教大家一步一步做一个词云图。
首先是包的安装和加载:
require(devtools)
install_github("lchiffon/wordcloud2")
library(wordcloud2)
这个包是带有示例数据的,大家运行下面的代码就可以看到数据和出图:
head(demoFreq)
wordcloud2(data=demoFreq, size=1.6)
运行代码就可以出现本文的第一个图
wordcloud2这个方法有很多的参数可以调,现在就给大家调调看
比如我想改变颜色,变成随机的暗色
wordcloud2(demoFreq, size=1.6, color='random-dark')
什么?
随机的暗色不好看?那我自己设定颜色,比如我就爱看绿色和蓝色,安排:
wordcloud2(demoFreq, size=1.6, color=rep_len( c("green","blue"), nrow(demoFreq) ) )
什么,背景你也不满意,要改
改成黑色行不:
wordcloud2(demoFreq, size=1.6, color='random-light', backgroundColor="black")
形状也想改?没问题:
‘circle’ (default), ‘cardioid’ (apple or heart shape curve, the most known polar equation), ‘diamond’ (alias of square), ‘triangle-forward’, ‘triangle’, ‘pentagon’, and ‘star’有很多的形状可以选择
wordcloud2(demoFreq, size = 0.7, shape = 'star')
你还可以自己找个图片蒙版,你高兴就行:
wordcloud2(demoFreq, figPath = "~/Desktop/R-graph-gallery/img/other/peaceAndLove.jpg", size = 1.5, color = "skyblue", backgroundColor="black")
你还可以设置字体旋转:
wordcloud2(demoFreq, size = 2.3, minRotation = -pi/6, maxRotation = -pi/6, rotateRatio = 1)
minRotation , maxRotation, rotateRatio分别为最小和最大旋转角度,以及旋转比例。
我们还可以选择将词云图做成字母形状:
letterCloud( demoFreq, word = "R", color='random-light' , backgroundColor="black")
今天写了很多的词云设置,强烈建议大家自己操作一波哦。
小结
今天写了文本挖掘的第一篇文章,之后还会写如何做中文的词云以及别的挖掘技巧,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python和R的,加油。
(站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)
往期内容:
R数据分析:ROC曲线与模型评价实例
R数据分析:如何用R做数据模拟
R数据分析:再写stargazer包,如何输出漂亮的表格
R可视化:如何用R做一个让别人一目了然的图(二)
R数据分析:贝叶斯定理的R语言模拟