如何安全的做词云? jiebaR与wordcloud2实战

因为工作需要,又开始上手R语言。比起从前,现在面对新知识更有耐心(经历所致),也更愿意优化代码,提高效率。

网上制作词云的工具很多,但如果是公司比较重要的数据信息,我不建议用网上工具,会造成信息泄露。所以,不如花点时间,自己学会做,对提升数据分析也有帮助。

要做词云,有两件事情要做:1)文本分词;2)制作词云。

先说文本分词,主要用到jiebaR包,处理txt文本,变成关键词+频次的数据框形式,然后提取需要的高频词汇,使用wordcloud2包制作词云。

一、案例展示:

2021年中国世界500强企业,我想知道这些优秀企业有哪些关键字,怎么做出来呢?先给大家看最终的结果:

我们可以看到最突出的关键字:国际、科技股份,然后是上海,电力,能源,汽车,钢铁,银行。因为我们分析的是世界500强企业,所以可以得出结论:业务面向国际的企业,类型是科技股份制,然后从区域来看上海500强最多,其次是江苏(居然不是北京~),接下来行业电力(垄断行业,铁饭碗),能源(新趋势行业),汽车、钢铁。从这些关键字对大家择业赛道也会有所启发。

  1. 接下来如何做出这个图: 
install.packeges("jiebaR")#下载jiebaR包
install.packeges("wordcloud2")#下载词云包,推荐用词云2
library(jiebaR)#载入jiebaR包
library(wordcloud2)#载入词云2包
data<-readLines("企业名称.txt",encoding="UTF-8")#读入txt格式文本
wk<-worker()#设置函数简称
data1<-segment(data,wk)#开始分词
data2<-freq(data1)#统计关键词出现的频次
data2<-data[nchar(data2)>1]#过滤掉仅一个字的关键词,这种用处不大
data3<-data.frame(data3)#数据表转化为数据框
data3<-data3[order(data3$freq,decreasing=TRUE)#关键词按频次从高到低排序
data4<-data3[1:300,]#只要前面300个关键词
data4<-data4[-1:-6,]#前面6行关键词是干扰数据,去掉
wordcloud2(data4,size = 1,fontFamily = '微软雅黑',color = 'random-light')#词云2画图

     2.部分关键代码对应结果:

 过滤一些干扰关键词之后,出现的最终的数据结果:

 

 然后可以画图了,对照我给出的输出结果,大家容易知道每一步输出应该是什么样。

 二、知其然,更知其所以然

两个包对应的函数原理讲解:

1.jiebaR包

jiebaR包主要应用函数:segment(code, jiebar, mod = NULL)

code    A Chinese sentence or the path of a text file.  #code对应中文语句或者文本文件

jiebar    jiebaR Worker.  #jiebar对应执行函数,主要用worker()

worker()具体参数如下:(可以执性默认参数)

worker(type = "mix", dict = DICTPATH, hmm = HMMPATH,
  user = USERPATH, idf = IDFPATH, stop_word = STOPPATH, write = T,
  qmax = 20, topn = 5, encoding = "UTF-8", detect = T,
  symbol = F, lines = 1e+05, output = NULL, bylines = F,
  user_weight = "max")

2.wordcloud2包

这个真的很好用,也容易理解

wordcloud2(data, size = 1, minSize = 0, gridSize =  0,
    fontFamily = 'Segoe UI', fontWeight = 'bold',
    color = 'random-dark', backgroundColor = "white",
    minRotation = -pi/4, maxRotation = pi/4, shuffle = TRUE,
    rotateRatio = 0.4, shape = 'circle', ellipticity = 0.65,
    widgetsize = NULL, figPath = NULL, hoverFunction = NULL)

参数一堆,实际上主要就是数据框(data)、尺寸(size)、字体( fontFamily)、颜色(color)、形状(shape),按照需要进行设置即可。

三、注意事项

1.如果你用的是Rstudio,记得在Tools-Global Options-code-saving-Default text encoding将格式改为UTF-8,这样中文才不会变成乱码;

2.刚刚分出来的关键词是要处理的,不能拿来就用,这里要耐心。

以上是和大家分享的词云的用法,如果实际操作有困难,可以给我留言。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据蜂鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值