数据分析-亚二爬梁总的微博到底说了什么

对于微博达人,西瓜会主席,清华博士penny的微博内容我很感兴趣,也一直关注,他今年发了很多微博,个人比较感兴趣,于是把他发的微博内容都抓下来,对于词频进行了一些分析;
第一步:分词

library(Rwordseg) #载入分词包
library(tm) #载入文本挖掘包

installDict(file.choose(),"mydict_lb") #装载  选择文件...
listDict() #查看词典

segmentCN(file.choose(),returnType="tm") 
#这种模式分词后,会在分词文件的同一个目录生成一个"源文件名+.segment"的文本文件,就是分词的结果

第二步:词频统计,绘制词云

#读入数据(特别注意,read.csv可以读取txt的文本)
myfile<-read.csv(file.choose(),header=FALSE)

#预处理,这步可以将读入的文本转换为可以分词的字符,没有这步不能分词
myfile.res<- myfile[myfile!=" "]

#分词,并将分词结果转换为向量
myfile.words<- unlist(lapply(X= myfile.res,FUN= segmentCN))

#剔除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)

#去掉停用词
data_stw=read.table(file=file.choose(),colClasses="character")
stopwords_CN=c(NULL)

for(i in 1:dim(data_stw)[1]){
  stopwords_CN=c(stopwords_CN,data_stw[i,1])
}

for(j in 1:length(stopwords_CN)){
  myfile.words<- subset(myfile.words,myfile.words!=stopwords_CN[j])
}

#过滤掉1个字的词
myfile.words<- subset(myfile.words,nchar(as.character(myfile.words))>1)

#统计词频
myfile.freq<- table(unlist(myfile.words))
myfile.freq<- rev(sort(myfile.freq))
myfile.freq<- data.frame(word=names(myfile.freq), freq=myfile.freq);

#按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数
myfile.freq2=subset(myfile.freq, myfile.freq$freq.Freq>=2)


#绘制词云
#设置一个颜色系:
mycolors<- brewer.pal(8,"Dark2")

#设置字体: 如果没有该字体就注释掉
#windowsFonts(myFont=windowsFont("华文彩云"))

#画图
wordcloud(myfile.freq2$word,myfile.freq2$freq.Freq,random.order=FALSE, random.color=FALSE,colors=mycolors)

最后绘制出词云图如下:

数据分析-亚二爬梁总的微博到底说了什么_第1张图片
亚二爬微博云词.png

你可能感兴趣的:(数据分析-亚二爬梁总的微博到底说了什么)