R语言:词云图

这是当时在琢磨文本挖掘时的小技术,贴出来共享一下

library(Rwordseg) #分词的包

#导入数据
data = read.csv("C:\\Users\\hormy\\Documents\\咨询数据.csv",stringsAsFactors=F)

#去除数字,英文字符
data$内容 = gsub("[a-z0-9A-Z_]","",data$内容)

#分词,Rwordseg包,手动加入分词表在工作路径的文件
words = segmentCN(data$内容)

#生成停词表stopwordsCN.txt,读入,确保是utf-8编码
stopwordsCN = as.character(readLines("stopwordsCN.txt"))
stopwordsCN = enc2utf8(stopwordsCN)
stopwordsCN<-stopwordsCN[Encoding(stopwordsCN)!="unknown"]

#编写去停词函数
removeStopWords <- function(x,stopwords) {
  temp <- character(0)
  index <- 1
  xLen <- length(x)
  while (index <= xLen) {
    if (length(stopwords[stopwords==x[index]]) <1)
      temp<- c(temp,x[index])
    index <- index +1
  }
  temp
}

#去停词
words = lapply(words,removeStopWords,stopwordsCN)

#画词云图
library(wordcloud)
#计算词频
wordsnum = table(unlist(words))
wordsnum = sort(wordsnum)  #排序
#选出词频最高的250个
wordsnum = tail(wordsnum,250)
#画词云图
wordcloud(names(wordsnum), as.vector(wordsnum),random.order=FALSE,
          random.color=FALSE,colors=brewer.pal(8,"Dark2"),family="myFont3")


  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值