R语言进行词云统计分析
R语言进行词云统计分析
本文章从爬虫、词频统计、可视化三个方面讲述了R语言的具体应用,欢迎大家共同谈论学习
1、使用 rvest 进行数据的爬取
#如果没有,先安装rvest包
install.packages("rvest")
library(rvest)
url <- "http://www.sohu.com/a/123426877_479559"
#读取数据,规定编码
web <- read_html(url, encoding = "utf-8")
position <- web %>% html_node("article.article") %>% html_text()
- %>%管道函数,将左边的值赋给右边函数作为第一个参数的值
- web存储网页信息的变量。
- html_nodes()函数获取网页里的相应节点
- html_text()函数获取标签内的文本信息
要获取网页中的节点,打开所要爬取网页内容——>按F12——>找到内容所对应的网页节点
2、使用jiebaR进行分词,统计词频
#install.packages("jiebaR")
library(jiebaR)
#初始化分词引擎并加载停用词
#user表示需要组合到一起的单词
#stop_word删除不需要出现的词
engine_s <- worker(user = "E:/R-Test/dictionary.txt", stop_word = "E:/R-Test/stopwords.txt")
#分词处理
seg<-segment(position, engine_s)
#统计词频
f <- freq(seg)
#根据词频降序排列(FALSE升序排列)
f <- f[order(f[2], decreasing = TRUE),]
#显示前30行的数据
head(f, 30)
1)“dictionary.txt”,是指明需要组合到一起的词组,比如说在默认情况下分词的结果可能会将“机器学习”处理成“机器”,“学习”,而我们其实想要的是“机器学习”,所以需要加载此字典表进行指定。注意:此文件的内容是自己指定的,具体内容如下:
机器学习
公众号
互联网
大鳄
大数据
2)“stopwords.txt”,是需要过滤掉的词组,比如“它”、“就是”、“作者”等词对于我们分析没有实际意义,我们就不需要统计他们,具体内容:
是
就是
在
也
你
他
这个
作者
了
我
的
它
3、使用wordcloud2包进行可视化
wordcloud2包的安装就不能像前面的直接使用install.packages("wordcloud2")进行安装了,因为这样的安装的wordcloud2就无法绘制图片和汉字的词云。他需要先安装“devtools”包,具体方法如下:
#安装方法1:
install.packages('devtools')
library('devtools')
install_github("lchiffon/wordcloud2")
library(wordcloud2)
#安装方法2(在RStudio中执行):
if(!require(devtools)) install.packages("devtools")
devtools::install_github('lchiffon/wordcloud2')
然后就使用词云进行绘图了,这里 shape 的参数有:默认为圆形(circle),cardioid(心形),star(星形),diamond(钻石形),triangle-forward(三角形),triangle(三角形),这两个三角形就是倾斜方向不同而已,pentagon(五边形)。
#为了显示效果,只提取前150个字
f2 <- f[1:150,]
#形状设置为一颗五角星
wordcloud2(f2, size = 0.8, shape = "star"
wordcloud2(f2, size =0.745, shape = "cardioid")
wordcloud2(f2, size =0.9, shape = "diamond")
加载一张图片,让显示图片的样式
#加载一张图片
path <- "E:/R-Test/245937.jpg"
#如果图形不像,调整size的值
wordcloud2(f, size = 0.45, figPath = path)
letterCloud用来显示指定的字母或者汉字,Word参数用于设置绘制词云形状为“”这个字
letterCloud(f2, word = "LOVE", size = 0.7)
【注意】可能我们已经发现,前面图中出现的高频词汇“机器学习”、“算法”等随着我们画出来的图丢失了。那是应该我们后边描绘的图的边太细,而“机器学习”的词频又特别高,所以就显示不出来。因此我们在选择绘图的时候不能为了美观而忽略了高频词
R语言进行词云统计分析的更多相关文章
- R语言之词云:wordcloud&wordcloud2安装及参数说明
一.wordcloud安装说明 install.packages("wordcloud"); 二.wordcloud2安装说明 install.packages("dev ...
- R语言︱文本挖掘——词云wordcloud2包
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者看到微信公众号探数寻理中提到郎大为Chif ...
- R语言文本挖掘+词云显示(jiebaR包+wordcloud2包)
利用2018年政府工作报告的例子向大家展示一下R语言如何进行文本挖掘的~用到的包有jiebaR和wordcloud2. 1.安装并加载jiebaR install.packages("jie ...
- NLP实现文本分词+在线词云实现工具
实现文本分词+在线词云实现工具 词云是NLP中比较简单而且效果较好的一种表达方式,说到可视化,R语言当仍不让,可见R语言︱文本挖掘——词云wordcloud2包 当然用代码写词云还是比较费劲的,网上也 ...
- R+tmcn笔记︱tmcn包的基本内容以及李舰老师R语言大会展示内容摘录
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- tmcn包目前托管在在R-forge 上开发和 ...
- 萌新学习Python爬取B站弹幕+R语言分词demo说明
代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...
- 中文分词实践(基于R语言)
背景:分析用户在世界杯期间讨论最多的话题. 思路:把用户关于世界杯的帖子拉下来.然后做中文分词+词频统计,最后将统计结果简单做个标签云.效果例如以下: 兴许:中文分词是中文信息处理的基础.分词之后.事 ...
- 使用R语言将微信记录制作成词云(简洁)--情人节奥义
一.导出并读入微信聊天记录 参照百度的方法,使用同步助手.安装同步助手--连接手机(安卓苹果均可)--点击"其他功能"--点击微信图标即可进入聊天记录导出界面(非常简单). ...
- R系列:分词、去停用词、画词云(词云形状可自定义)
附注:不要问我为什么写这么快,是16年写的. R的优点:免费.界面友好(个人认为没有matlab友好,matlab在我心中就是统计软件中极简主义的代表).小(压缩包就几十M,MATLAB.R2009b ...
随机推荐
- Linux 虚拟机中配置 GNOME + VNC
需求描述 在特定的需求下,需要用到 Linux 的图形化界面,但是 Azure 平台提供的虚拟机默认没有开放远程图形化登陆的功能.以下解决方案,提供了市面上非常流行的 GNOME + VNC 的组合来 ...
- .Net ->> iTextSharp工具读取PDF文本内容
分享一个开源的C#DLL,可以读取PDF文本内容. 地址:http://sourceforge.net/projects/itextsharp/ 这里还有相关的链接:http://www.codepr ...
- Linq中使用Left Join 和 Right Join
原文地址:http://www.cnblogs.com/xinjian/archive/2010/11/17/1879959.html 准备一些测试数据,如下: use Test Create tab ...
- Linux->ZooKeeper集群搭建
人,总免不了有心结,限制着自己,难以前行.对于ZooKeeper的理解,以及实践也拖了很久,今天用零散时间学习一下,补点干货. 一.简述 Zookeeper是Google的Chubby一个开源的实现, ...
- Angular4 微信的坑
1.不要重置对象的引用!(重置只应该在组件或服务的初始化时) why:会使页面产生闪烁 2.不要给图片绑定一个空的值或空的图片引用(如果值从服务器异步过来,那应该在初始化时给它一个默认值) why:会 ...
- git常用命令#自用#
===== 未完结,慢慢补充 ===== 零.克隆 1.克隆主分支 : git clone ${remotePath} 2.克隆指定分支 : git clone -b <branch na ...
- ps cs6破解补丁使用方法
第一步.首先下载ps cs6破解补丁 ,再下载官方ps cs6中文版,安装之后运行一次.第二步.先备份你想要激活的软件的“amtlib”文件,比如PS CS6 64bit其目录在“C:\Program ...
- 【Z】扩展阿里巴巴Java开发规约插件
https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如果对方 ...
- 【2D游戏引擎】那些年对游戏对象的思考
WIP源代码: Github OSC镜像 对象系统以对象为中心,对象系统的最基本设计策略是基于组件的设计.对象系统将尽量避免使用继承方式来拓展游戏对象,恰当的使用Mix-in来来最属性做拓展,单个属性 ...
- postgresql+postgis+pgrouting实现最短路径查询(2)---openlayers+geoserver实现最短路径
自己的最短路径实现基本上是按照参考博文的1.2和3进行的,实现的时候也是问题不断,只能是一个一个解决. 问题1:自己发布的geoserver服务无法和OSM底图叠加到一起. 解决:参考博文2提到发布服 ...