搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  18 da.txt
资料下载链接地址: https://bbs.pinggu.org/a-2133977.html
附件大小:
12.03 KB   举报本内容
曾经打算着,每天都要发一贴,但是昨天没有发,这两天都在学习文本分析,但是昨天学的不到位,所以没有发,今天补上了。好了,废话少说,直接来案例喽。



我用的文本是刚过去不久的十八大(shibada)六中全会全文。主要分为以下几个部分:1、使用Rwordseg包进行分词处理2、获取词频数据3、使用wordcloud包做词云图 4、使用wordcloud升级版wordCloud2做词云图(wordcloud这个函数paramater太多了,而且做出来的图比较死板,而它的升级版却很好的解决了这些问题)
好了,进行具体的操作~~~~
  1. library(rJava) #加载rJava包
  2. library(Rwordseg) #加载Rwordseg包
  3. installDict(
  4. "D:/R install/sougou dictionary/十八大报告节选.scel",
  5. dictname="十八大")#安装自定义词典
  6. listDict() #查看已加载的词典
  7. shibada<-read.table(file.choose())#打开要分析的文档,等价于shibada<-read.table("D:/R install/18 da.txt")
  8. head(shibada)#查看前六行
  9. shibada1<-readLines(file.choose())#按行读取文字,读取后只有一个自变量(V1),而read.table读取的方式是遇见空格就形成一个变量
  10. head(shibada1)#再次查看前六行
  11. shibada1<-gsub("\\s","",shibada1)#去除space键
  12. shibada1<-gsub(pattern =
  13. "[的|和|是|有|在|要|对|必|须|为|了把|]","",shibada1)#删除特殊字词
  14. shibada1<-gsub("\n","",shibada1)#删除Enter键
  15. head(shibada1)
  16. a<-lapply(shibada1,FUN=segmentCN)
  17. str(a)
  18. fenci<-unlist(lapply(shibada1,FUN=segmentCN))
  19. #使用lapply函数对文本进行分词(分词的结果返回来的是列表),使用unlist函数降结果转换为向量
  20. str(fenci)
  21. fenci1<-table(fenci) #计算频率
  22. fenci1<-sort(fenci1,decreasing = T)#排序
  23. d<-data.frame(fenci1)#构建数据框
  24. write.csv(d,file.choose())#储存词频文件


  25. # 做词云图
  26. install.packages("RColorBrewer")#wordcloud依赖的包
  27. library(RColorBrewer)
  28. install.packages("wordcloud")
  29. library(wordcloud)
  30. par(bg="lightyellow")
  31. wordcloud(d$fenci,d$Freq,scale = c(6,0.5),
  32. colors=c('red','blue','green','yellow','purple'),
  33. min.freq=5,max.words = 100,random.color = T,
  34. random.order = T,ordered.colors = F)
复制代码
注:1、所用的文档见:
2、rJava、Rwordseg包的安装见https://bbs.pinggu.org/thread-4930045-1-1.html
3、其中使用的函数,如file.choose(),gsub(),unlist(),lapply()等,我会在下一个帖子中进行讲解,大家权当做会就可以了,哈哈。
词云图:

完美的分割线


下面是用wordcloud2包做的词云图:
  1. #wordcloud的升级版wordcloud2来做词云图
  2. install.packages("jsonlite")
  3. devtools::install_github("lchiffon/wordcloud2")#安装wordcloud2,使用install.packages("wordcloud2")会出现错误,因而用这两行代码
  4. library(wordcloud2)
  5. wordcloud2(d,size = 2,color = "random-light", backgroundColor = "grey")
  6. wordcloud2(d,size = 2,color = "random-light",shape='star', backgroundColor = "grey")#两种图形,一个圆形,一个五角星
  7. letterCloud(d,size = 1,word="畅",backgroundColor = "grey")#注意C是大写,word="畅"是指图形是这个汉字
复制代码
上图:


注:图上底角出现的数字是该词的频率,是不是比wordcloud做出来的效果好多了,而且还能做出有个性的图


ok,这贴到此结束,后续自己还会坚持写的。












    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

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

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

GMT+8, 2025-12-30 04:39