library(jiebaRD)
library(jiebaR) ##调入分词的库
cutter <- worker()
mydata =read.csv(file.choose(),fileEncoding = ‘UTF-8‘,stringsAsFactors = FALSE,header=FALSE) ##读入数据(特别注意,read.csv竟然可以读取txt的文本)
content <-as.character(mydata) #将数据字符串化
segWords <- segment(content,cutter)
#读取停止词
#删除停用词(就是删除一些介词、叹词之类的词语,这些词语本身没多大分析意义,但出现的频率却很高,比如"的、地、得、啊、嗯、呢、了、还、于是、那么、然后"等等。前提是必须要有一个停用词库,网上搜索即可下载,也是一个txt的文本文件,每行一个词。网上有两种版本,一种是500多个词的,一种是1000多个词的)
f<- read.table(file = file.choose(), stringsAsFactors = FALSE) #stopword.txt
stopwords <- c(NULL) #定义一个空对象stopwords,并赋值为“空”
for(i in 1:length(f)){ #for循环,length(f)求得停止词库词条个数。
stopwords[i] <- f[i] #遍历停止词库,将第【i】个停止词赋值给stopwords
}
segWords <- gsub("[0-9a-zA-Z]+?","",segWords) #gsub用来去掉segWord文本中的数字,英文,但生成了空格,""产生了空格
library(stringr) #载入stringr包,仅用来去掉文本中的空格
segWords <- str_trim(segWords) #去掉segwords中的空格
txt.asvector <- unlist(segWords) #将segwords向量化
tableWord <- table(txt.asvector) #将txt.asvector生成为列联表
Wordresult<- tableWord[order(-tableWord)] #将tableword降序排列,从多到少排序
library(wordcloud2) #调入绘制词云的库
wordcloud2(Wordresult[1:100])