首页 > 代码库 > Rweibo , wordcloud

Rweibo , wordcloud

 

利用Rweibo ,wordcloud做词云

#-------------------------------------------------------
#--------------------Rweibo词云-------------------------
#-------------------------------------------------------
#-------------------------------------------------------#
#导入需要的包,不存在则下载
require(Rweibo)
#必须先调用rJava不然Rwordseg 无法使用
library(rJava)
require(Rwordseg)
require(RColorBrewer)
require(wordcloud)
require(scales)

#通过微博抽取含有“大数据”的博文  #只能读取20pages  
#!!!!最好保存工作空间 ,频繁调用会导致账号被封
res11 <- web.search.content("大数据", page =40, combinewith = NULL) 
#获得微博评论内容的源数据
res<-res11$Weibo 

#通过Rwordseg分词
res1=segmentCN(res)
#将list向量化
res2<-unlist(res1)
#统计频数
res3<-table(res2)
#升序排列
#res4是带标签的变量,标签名是文字,变量值是频数
res4<-sort(res3)
#利用频数向量构造频数数据框
res5<-data.frame(res=names(res4),freq=res4)


#去除单个词汇 ,如 ‘的’,‘是’等
res5$res<-as.character(res5$res)
res5$len<-nchar(res5$res)
res6<-subset(res5,len>1)
#取最后150个数据,即频数较大的数据,res7为最终频数数据框
res7<-tail(res6,150)


#用wordcloud作图
op<-par(bg=lightyellow)
wordcloud(res7$res,res7$freq,random.order=F,col=brewer.pal(9,"Set1"))
wordcloud(res7$res,res7$freq,random.order=F,col=rainbow(length(res7$freq)))