您的位置:首页 > 其它

R语言文本挖掘-分词

2017-03-23 16:25 246 查看
#导入数据

#读入数据

housedetail<-read.csv("C:\\Users\\PC\\Desktop\\lianjia.csv",stringsAsFactors = F)

#整理数据,数据处理,取子集

housetitle<-housedetail[,1]

#数据分析

#函数:实现字符串的连接,并去除数字,标点

combindString <- function(s){

  tem <- ''

  for (i in 1:length(s)) tem <- paste(tem,s[i],sep = "")

  tem <- gsub("[0-9 ,、!?。]","",tem)

  tem

}

#获取 所有的标题描述并连接

title<-combindString(housetitle)

#分词

library(jiebaRD)

library(jiebaR)

analyzer<-worker()

results<-(analyzer<=title)

#分好的词是一个向量,我们需要进行词频统计

#可以通过制造一个数据框,分组数数的方法

#创建包含词汇、词频的数据框

wordseg<-data.frame("词汇"=results,stringsAsFactors = F)

wordseg$词频<-1

wordseg

#使用plyr包中的函数进行分组统计

library(plyr)

#求和

sumBygroup<-function(df)sum(df[,2])

#分组统计

groupstatis<-ddply(wordseg,.(词汇),sumBygroup)

#查看分组后的结果?

View(head(groupstatis,30))

#更改列名

names(groupstatis)<-c("词汇","词频")

#为了避免小概率的词出现太多,我们找出词频

#大于5的词进行绘图

groupstatis<-subset(groupstatis,词频>5)

#绘图

#导入包

library(RColorBrewer)

library(wordcloud)

#定义颜色向量

color<-c("#FF8C00","purple","orange","brown","green")

#调用词云函数

par(mar = c(0, 0, 3, 0), bg = "black")

wordcloud(groupstatis$词汇,groupstatis$词频,min.freq=5,max.words=200,random.order = F,colors = color )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: