词云图制作(R)

词云图制作

1 工作准备

材料准备:

  • 文本数据txt文件,或者其他文本文件。
  • R语言软件

2 实际操作

  • 第一步:从网上相关新闻网站复制粘贴或下载相关文本数据,转化为txt格式文件或其他,我这里用的txt文件。
  • 第二步:利用R语言相关函数对文本进行分词,包括实词和虚词。其中虚词比如”的“、”了“等,还有一些标点符号等,这些需要剔除;而实词里面也存在相对无效词语。这些无效实词、虚词、标点符号等需要剔除。剔除方法一般使用停词表(百度可下载)。将分析的文本分词与停词对比,如果有分词在停词表中,则删除该分词。
  • 对处理好的分词文件进行频率统计,频率越大,表明该分词在文本中的分量越大。

下面是R语言操作代码。

# 清理内存
rm(list=ls())
# 工作路径
setwd("D:\\Allcode\\Rstudy\\TEE")
# 需要安装加载的鲍
# install.packages("jiebaR","jiebaRD","wordcloud","wordcloud2","Rcpp")
# 用于分词
library(jiebaR)
library(jiebaRD)
library(Rcpp)
# 分词可视化
library(wordcloud)
library(wordcloud2)
# 初始化jiebaR workers
engine <- worker()
# hmm为分词方法,help(hmm)可选其他
engine <- worker("hmm")
# 用segment函数对名为word文本进行分词
b = segment("word.txt",engine)
# 分词完毕后会在工作路径生成一个word.segment.2021-11-02_12_42_40.txt文件
f = scan("word.segment.2021-11-02_12_42_40.txt",sep='\n',what='',encoding="UTF-8")

截图

# 将分词文本转化为字符串
word <- qseg[f] 
# 统计字符串频率,word此时是一个数据框,包括char和fre两个变量
word <- freq(word)
word

使用传统wordcloud函数可视化,效果不大美观,而且存在无意义的词语

wordcloud(word$char,word$freq,scale=c(5,1),colors=rainbow(10))

下面使用停词表删除无意义的词

# 停词表导入
stopword = data.frame(words = scan("stopwords.txt",sep='\n',
                                   what='',encoding="UTF-8"))

# 停词索引
for(i in 1:nrow(word)){
  if(word$char[i] %in% stopword$words){
    word$result[i] = 1
  }else{
    word$result[i] = 0
  }
}

# 删除停词
word = word[-which(word$result == 1),]
# 删除匹配变量result
word1 = word[,1:2]

使用wordcloud2可视化

# help(wordcloud2)
wordcloud2(word1, size = 1,fontWeight = 'bold')
# 公司的信息无效,公司频率改为1
word1[which(word1$char == "公司"),2] = 1
word1[which(word1$char == "亿元"),2] = 1
# 拉夏贝尔词频过大,降低一些,影响美观
word1[which(word1$char == "拉夏"),2] = 8
word1[which(word1$char == "贝尔"),2] = 8

# 云状
wordcloud2(word1, size = 0.5,fontWeight = 'bold',ellipticity = 0.65,
           shape = 'cloud')

# 更多参数信息help(wordcloud2)

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值