词云的制作

1.     导入分词、制作词云的包

#调入分词的库

library("rJava")

library("Rwordseg")

#调入绘制词云的库

library("RColorBrewer")

library("wordcloud")

2.     导入文本数据

#读入数据(特别注意,read.csv竟然可以读取txt的文本)

myfile<-read.csv(file.choose(),header=FALSE)

3.     分词

#分词,并将分词结果转换为向量

myfile.words<- unlist(lapply(X = myfile.res,FUN = segmentCN))

4.     剔除URL等各种不需要的字符,还需要删除什么特殊的字符可以依样下面增加gsub的语句

myfile.words<-gsub(pattern="http:[a-zA-Z\\/\\.0-9]+","",myfile.words)

myfile.words<- gsub("\n","",myfile.words)

myfile.words<- gsub(" ","",myfile.words)

5.     去掉停用词

data_stw=read.table(file=file.choose(),colClasses="character")

stopwords_CN=c(NULL)

for(iin 1:dim(data_stw)[1]){

stopwords_CN=c(stopwords_CN,data_stw[i,1])

}

for(jin 1:length(stopwords_CN)){

myfile.words<- subset(myfile.words,myfile.words!=stopwords_CN[j])

}

6.     过滤掉1个字的词

myfile.words<- subset(myfile.words,nchar(as.character(myfile.words))>1)

7.     统计词频

myfile.freq<- table(unlist(myfile.words))

myfile.freq<- rev(sort(myfile.freq))

myfile.freq<- data.frame(word=names(myfile.freq), freq=myfile.freq)

8.     按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数

myfile.freq2=subset(myfile.freq,myfile.freq$freq>=2)

9.     画词云

wordcloud(myfile.freq2$word,myfile.freq2$freq.Freq,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont")

词云的制作