楼主: huiyujuanjuan
4845 3

[程序分享] R语言词云图实现(19大报告为例) [推广有奖]

  • 0关注
  • 6粉丝

已卖:47份资源

副教授

37%

还不是VIP/贵宾

-

威望
0
论坛币
651 个
通用积分
330.7491
学术水平
19 点
热心指数
23 点
信用等级
10 点
经验
46752 点
帖子
500
精华
0
在线时间
1160 小时
注册时间
2015-2-2
最后登录
2025-11-9

楼主
huiyujuanjuan 发表于 2019-8-27 08:42:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

       “词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(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语言进行量化投资。


二维码

扫码加我 拉你入群

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

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


已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 30 观点有启发
crystal8832 + 5 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 5  论坛币 + 30  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
crystal8832 学生认证  发表于 2019-8-27 14:43:23
挺有意思,谢谢分享!~

藤椅
cheetahfly 在职认证  发表于 2019-8-27 15:57:53
谢谢分享!

板凳
ghkfq 发表于 2019-8-30 20:37:40
感谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 20:38