R语言实战-如何分析QQ群记录5-词云

library(tm)
library(tmcn)
library(rJava)
library(Rwordseg)
#install.packages('wordcloud')
library(wordcloud)

#获取data中的聊天信息,写入text.txt中
write.table(data$des,"text.txt",row.names = F)

#使用segmentCN进行分词,并且保存在同目录下的text.segment.txt中
segmentCN("text.txt",returnType = "tm")

#读取分词后的文档
text1<-readLines("text.segment.txt",encoding = "UTF-8")

#根据\\S(正则表达式,代表空格,换行,回车等空白符)进行分割
word<-lapply(x=text1,FUN = strsplit,"\\s")

#把list返转换成非list
word1<-unlist(word)

#计算每个词的频率
df<-table(word1)

#进行排序
df<-sort(df,decreasing = T)

#转换成数据框
df1<-data.frame(df)

#重新赋予新的数据框,编辑新的列名称
dataFreq<-data.frame(word=as.character(df1$word1),freq=df1$Freq,stringsAsFactors = F)

#去除小于平均数的词汇
dataFreq<-dataFreq[dataFreq$freq>=mean(dataFreq$freq),]

#制作词云
wordcloud(dataFreq$word,dataFreq$freq,shape='star',
          min.freq=50,
          colors = rainbow(length(row.names(dataFreq)))
          )

  

posted @ 2017-08-17 15:39  绪哥哥  阅读(161)  评论(0编辑  收藏  举报