R in Action数据-R语言-图表-决策-Linux-Python

R语言 数据挖掘-文本分析(1)

2017-06-23  本文已影响155人  语落心生

刚接触R语言一周,和matab不同R作用于数据挖掘的库很多,详解见 R语言数据挖掘包
,下面简介文本分析经常使用到的三个包
tm 为文本挖掘提供综合性处理 Rwordmsg 进行中文分词 wordcloud 统计词云
以第三届泰迪杯A题提供的数据集国美-Sheet1进行文本分析 : 第三届泰迪杯
转化为txt的数据集如下图所示:

dataset.png
filepath = "D:/Rstudio/test.txt";
#设置导入文件路径

text = readLines(filePath);

txt = text[text!=""];#判断文本不为空

txt = tolower(txt);#统一大小写

txtList = lapply(txt, strsplit," ");#对每一个字符串加上""

txtChar = unlist(txtList);#/统一数据格式为数字向量

txtChar = gsub("\\.|,|\\!|:|;|\\?","",txtChar) #clean symbol(.,!:;?);#这里解释一下,当我们从.xls .xlsx转为.csv .txt格式时,会将每行之间的字段值用逗号隔开,此时我们根据不同情况替换逗号 例如

#“张三”,"李四",

#"13","34",

#行间用两个//隔开,列间用一个/隔开

#gsub的作用就是作为正则表达式统计匹配这几类替换情况的出现次数,以此达到统计词频的效果

#txtChar = txtChar[txtChar!=""];//检查字符串是否全部成功匹配

#到此为止,清洗完成

data = as.data.frame(table(txtChar));#数据集可以看成多个向量组成的向量组,对于向量组而言,数据框中的向量必须有相同的长度.data.frame可以补全空缺的值

colnames(data) = c("Word","freq");#拟定行名和列名,初始化数据集引用

ordFreq = data[order(data$freq,decreasing=T),]#根据官方的说明,应该是构建分词模板

View(ordFreq);#显示词频表
wordlist.png
library(wordcloud);#引入词云包
#命令行输入
>wordcloud(words=ordFreq$word,freq=ordFreq$freq,scale=c(3,5),col=rainbow(length(ordFreq$freq)))

生成词云:


cloud.png
上一篇下一篇

猜你喜欢

热点阅读