全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4846 3
2019-08-27

       “词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)提出。戈登做过编辑、记者,曾担任迈阿密先驱报(Miami Herald)新媒体版的主任。他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸、广播、电视等其它媒体都望尘莫及的传播方式。通常,这些最新的、最适合网络的传播方式,也是最好的传播方式。 因此,“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“ 关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

      下面以19大报告为例,说明词云图的制作。

      加载词云图制作工具包wordcloud2和jiebaR,其中前者用来绘制词云图,后者用来对中文进行分词,即把文档转换成一个一个单独的词语。需要指出的是,wordcloud2工具包需要从github网站下载,直接利用install.packages方法存在问题。具体如下:

>install_github('lchiffon/wordcloud2')

>library(wordcloud2)

>library(jiebaR)

      上百度找一个19大报告全文,然后复制保存为文本文档形式,并命名为19th.txt,保存到当地F盘,然后利用scan命令扫描文档:

>contents <- scan('F://1919th.txt',what='character')

     并利用worker设置分词形式:

>cutter <- worker()

     对文档进行分词处理,具体为:

>segWords <- segment(contents,cutter)

>head(segWords)

[1] "决胜"     "全面"     "建成"     "小康社会" " "       "夺取"

     进一步把分词整理成表格形式,即显示各种词语出现的次数,具体如下:

>wordsNum <- table(segWords)

>head(wordsNum)

segWords

      10  18 2017   爱 爱澳

   1   1    1    1   4    1

>wordcloud2(wordsNum)

fff.png

                                              图2.40    19大词云图

       从图上可以看出,出现次数较高的是“的”、“和”、“中国”、“发展”和“人民”,考虑到“的”与“和”为连接词,没有意义,需要把这些剔除,才能使词云图更加美观。具体进行如下操作:删除连词“的”“是”“和”:

>segWords <- gsub('的||和||是','',segWords)

>segWords <- segWords[nchar(segWords)!=0]

      在此基础上进行表格整理:

>wordsNum <- table(segWords)

     考虑到词语非常多,因此选择按高到低排序,并选择前500个词语绘制词云图:

>wordsNum <- sort(wordsNum, decreasing = TRUE)

>wordsData <- data.frame(wordsNum)

>wordsData <- wordsData[1:500,]

>wordcloud2(wordsData,0.4)

fff.png

                                      图2.41    简化后19大词云

       环形图可以看出,“人民”、“发展”和“建设”等词语字体较大,说明出现次数较高。进一步对形状进行设置,选择单词“R”和党徽形状进行分析,具体如下:

>letterCloud(wordsData,word='R',size=0.3)

ggg.png

      然后百度一个党徽图案,最好只有两色的。保存在本地文件夹F盘根目录下,并命名为public。输出党微形状的词云图命令为:

>wordcloud2(wordsData,figPath = 'F://public.jpg',size=0.5,color = 'red')

bbb.png
      感兴趣的读者可进一步参考《量化投资基础、方法与策略——R语言实战指南》,里面详细介绍R语言的入门,并介绍如何利用R语言进行量化投资。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-8-27 14:43:23
挺有意思,谢谢分享!~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-27 15:57:53
谢谢分享!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-30 20:37:40
感谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群