R语言文本挖掘-分词

来源:互联网 发布:淘宝上门安装服务申请 编辑:程序博客网 时间:2024/04/30 15:18
#导入数据
#读入数据
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 )

0 0