最近经常有朋友在群里问批量文本分析方面的问题,这里我给出了批量读取文本文件并生成自己的肖像词云的一个简单例子。
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)
#循环组装到一个data.frame中
for (i in 2:n)
{
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 = 0.3,figPath='D:/csdn博客文章/头像.jpg')
上述代码中我的注释已经标注的很清楚了,相信大家能看懂。
如有任何问题想跟我交流或者向我索要测试数据,可以加群R语言&大数据分析(群号456726635)跟我联系。