河源新闻网由河源晚报社主办!新闻网旗下: 在线数字报 | 新少年
当前位置:河源新闻网 >> 资讯 > 财经 > 阅读新闻

R语言批量文本处理并生成词云聚信立

针对某一个事件或者人物或者实体,会有很多相关文本对其描述,他们可能来自不同的媒介,例如:关于金融的报道会有很多不同媒体写了不同的文章,当我们分析这些数据的时候,它们经常是多个文件。如下图1所示一个文本文件对应一篇报道文章。

 

 

图1 每个文本代表一篇针对金融的报道文章

本文使用R语言批量处理这样的文本数据,对他们进行分词及词频统计,最后我们根据聚信立logo生成了词云聚信立,这种方式在ppt演讲、会场布置及公司宣传等场景下有很好的应用性。

下面我们先上效果图,再贴上R语言的相关程序代码。图2 是聚信立的文字logo,图3相关报道的词云聚信立logo。

 

 

图2 聚信立文字logo

 

 

图3 由词云生成的聚信立logo(应用在ppt报告、公司宣传、会场布置等很多场景)

 

最后是R源代码:

library(rJava)

library(Rwordseg)

library(RColorBrewer)

library(wordcloud)

library(wordcloud2)

#路径

dir <- "D:/C000007"

#路径下文件名

names <- list.files(dir)

dirname <- paste(dir,names,sep="/")

#文件数量

n <- length(dirname)

#finaldata = read.csv(file = dirname[1],stringsAsFactors=F,header=F,encoding = 'UTF-8')

finaldata = read.csv(file = dirname[1],stringsAsFactors=F,header=F)

finaldata

 

#循环组装到一个data.frame中

for (i in 2:n)

{

#new.data = read.csv(file = dirname[i],stringsAsFactors=F,header=F,encoding = 'UTF-8')

new.data = read.csv(file = dirname[i],stringsAsFactors=F,header=F)

flen=length(new.data)

if(flen==1) finaldata = rbind(finaldata,new.data)

if(flen>1)

{

newstr=''

for(j in 1:flen)

{

newstr=paste(newstr,new.data[,j])

}

newdataframe=data.frame(V1=newstr)

finaldata = rbind(finaldata,newdataframe)

}

 

}

#可使用write.table  将finaldata写出

#分词并统计词频

words=unlist(lapply(X=finaldata$V1, FUN=segmentCN))

word=lapply(X=words, FUN=strsplit, " ")

v=table(unlist(word))

#降序排列

v=rev(sort(v))

 

#组装成词云数据框

d=data.frame(v,row.names = names(v))

 

#绘制词云

mydata=d

wordcloud2(mydata,size = 1.2,figPath='D:/juxinli.jpg') 



相关热词搜索:文本 语言 云聚信


上一篇:广发行倾力浇灌实体经济 跨境托管业务位居股份制银行第一位
下一篇:中行与国家开发银行签署全面合作协议 提升服务实体经济能力

热点图片

  • 头条新闻
  • 新闻推荐

最新专题

更多 >>

热度排行

关于我们 | 广告服务 | 友情链接 | 案例展示 | 联系我们 | 版权声明