R语言进行词云分析
2017-09-26 18:19
197 查看
一个小例子!用R语言中jiebaR包和wordcloud包进行词云分析
jiebaR包
打开R语言,在程序包->安装程序包中进行jiebaR的安装。jiebaR是一款高效的R语言中文分词包,底层使用的是C++,通过Rcpp进行调用很高效。结巴分词基于MIT协议,就是免费和开源的,感谢国人作者的给力支持,让R的可以方便的处理中文文本。“结巴”中文分词的R语言版本,支持最大概率法(Maximum Probability), 隐式马尔科夫模型(Hidden Markov Model), 索引模型(QuerySegment), 混合模型(MixSegment), 共四种分词模式, 同时有词性标注,关键词提取,文本Simhash相似度比较等功能。项目使用了Rcpp和CppJieba进行开发。
Wordcloud包
打开R语言,在程序包->安装程序包中进行jiebaR的安装。Wordcloud包在做词语分析时并没有多大的作用,但是在后期的报告展示中却起着很大的作用。虽然说实质大于形式,在实质能够保证的前提下,一个好的形式是成功的关键点所在。Wordcloud包就是一个可以使词频以图形的形式展示的软件包,它可以通过改变词云的形状和颜色,是的分析结果锦上添花。
小例子
用R语言中的jiebaR包和Wordcloud包对P2P网络借贷细则进行词云分析。我们在分析中有两个任务:1、查看词频最高的100个词语;
2、画词云图。
代码块
R语言做词云分析的代码如下:library(jiebaR) library(wordcloud) #读入数据分隔符是‘\n’,字符编码是‘UTF-8’,what=''表示以字符串类型读入 f <- scan('C:\\Users\\Administrator\\Desktop\\网络借贷细则.txt',sep='\n',what='',encoding="GBK") seg <- qseg[f] #使用qseg类型分词,并把结果保存到对象seg中 seg <- seg[nchar(seg)>1] #去除字符长度小于2的词语 seg <- table(seg) #统计词频 seg <- seg[!grepl('[0-9]+',names(seg))] #去除数字 seg <- seg[!grepl('a-zA-Z',names(seg))] #去除字母 length(seg) #查看处理完后剩余的词数 seg <- sort(seg, decreasing = TRUE)[1:100] #降序排序,并提取出现次数最多的前100个词语 seg #查看100个词频最高的 View(seg) data=data.frame(seg) data wordcloud(data$seg , data$Freq, colors = rainbow(100), random.order=F) x11() dev.off()
通过上述代码在R语言中运行后结果如下:
1、显示100个词频最高的词语显示如下:
2、最后生成的词云图如下:
当然,可以通过对参数的修改,改变词云的形状和颜色。
以上便是一个用R语言做词云分析的简单的例子!初学者可以参考一下!
相关文章推荐
- R语言对高频交易订单流进行建模分析 4
- 如何使用R语言的Boruta包进行特征选择
- R语言:利用caret包中的dummyVars函数进行虚拟变量处理
- R语言使用tryCatch进行简单的错误处理
- R语言进行中文分词和聚类
- 用R语言进行文件系统管理
- R语言tm工具包进行文本挖掘实验
- 干货:用R语言进行数据提取的方法!
- 利用R语言对RNA-Seq进行探索分析与差异表达分析
- 使用R语言进行一元回归
- R语言中进行文件夹及文件夹内文件操作范例
- 安装AIC准则使用前进法后退法和逐步回归法进行变量选择的r语言代码
- 用R语言的MICE包对缺失数据进行多重插补(一)-- 缺失数据分析
- R语言:使用rvest包进行数据简单抓取
- 用R语言进行数据分析
- R语言对高频交易订单流进行建模分析 1
- R语言绘制正太分布图,并进行正太分布检验
- R语言:利用apply、tapply、lapply、sapply、mapply、table等函数进行分组统计
- R语言group_by后进行复制聚组---collapse